&z别名被const修饰那z也就不可变了,因为别名是一个整体,&符号类似于一个声明而不像*,*p 和 p是完全不同的,而&p 和p则是一摸一样的,就被const修饰这一问题来说
2015-12-23
最新回答 / 慕函数4258582
引用就是相当于是别名常量,比如语句int &b=a;中就定义了b为a的引用,就是说,b相当于a的另一个名字,因为b在内存中并没有被分配的int变量大小的空间。而取地址,就是把某个变量的地址返回,例如int* p=&a;就是把a的地址返回,并保存到指针p中。这两者的主要区别就是,b就相当于变量a,是一个量,而p或者&a代表则是a的地址,是一个地址,而不是变量a
2015-12-21
最赞回答 / onemoo
这个&并不是引用的意思,这是&是取地址操作符, 等号右侧的&count意思是取count的地址,得到的是指向count的指针。p被定义为指针类型,等号右侧也是指针类型,这样才能赋值给等号左侧的p。如果不写那个&,等号右侧就是const int类型,与等号左侧的类型不一致,且无法自动转换类型,这样是无法赋值的。
2015-12-20
#include <string.h>
#include <iostream>
using namespace std;
int main(void)
{
//在堆中申请100个char类型的内存
char *str = new char[100];
//拷贝Hello C++字符串到分配的堆中的内存中
strcpy(str, "Hello imooc");
//打印字符串
cout<<str<<endl;
//释放内存
delete []str;
str=NULL;
return 0;
}
#include <iostream>
using namespace std;
int main(void)
{
//在堆中申请100个char类型的内存
char *str = new char[100];
//拷贝Hello C++字符串到分配的堆中的内存中
strcpy(str, "Hello imooc");
//打印字符串
cout<<str<<endl;
//释放内存
delete []str;
str=NULL;
return 0;
}