Skip to content

Instantly share code, notes, and snippets.

@shravan-shandilya
Last active April 4, 2017 03:58
Show Gist options
  • Save shravan-shandilya/1e81df9e04216c840e90bc425e7bf612 to your computer and use it in GitHub Desktop.
Save shravan-shandilya/1e81df9e04216c840e90bc425e7bf612 to your computer and use it in GitHub Desktop.
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
int a = 3;
int b = 4;
int* pointerToA = &a;
int* pointerToB = &b;
int* p = pointerToA;
p = pointerToB;
printf("%d %d %d\n", a, b, *p); // Prints 3 4 4
int& referenceToA = a;
int& referenceToB = b;
int& r = referenceToA;
cout<<"&referenceToA:"<<&referenceToA<<",&a:"<<&a<<",&referenceToB:"<<&referenceToB<<",&b:"<<&b<<",&r:"<<&r<<",r:"<<r<<endl;
r = referenceToB;
cout<<"&referenceToA:"<<&referenceToA<<",&a:"<<&a<<",&referenceToB:"<<&referenceToB<<",&b:"<<&b<<",&r:"<<&r<<",r:"<<r<<endl;
referenceToA = referenceToB;
cout<<"&referenceToA:"<<&referenceToA<<",&a:"<<&a<<",&referenceToB:"<<&referenceToB<<",&b:"<<&b<<",&r:"<<&r<<",r:"<<r<<endl;
//cannot declare pointer to 'int&'
//int& *pointerToReferenceToA = &referenceToA;
//cout<<"pointerToReferenceToA:"<<pointerToReferenceToA<<"*pointerToReferenceToA:"<<*pointerToReferenceToA<<endl;
//invalid initialization of reference of type 'int&' from expression of type 'int*'
//int& referenceToPointer = pointerToA;
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment