&z別名被const修飾那z也就不可變了,因?yàn)閯e名是一個(gè)整體,&符號(hào)類似于一個(gè)聲明而不像*,*p 和 p是完全不同的,而&p 和p則是一摸一樣的,就被const修飾這一問(wèn)題來(lái)說(shuō)
2015-12-23
最新回答 / 慕函數(shù)4258582
引用就是相當(dāng)于是別名常量,比如語(yǔ)句int &b=a;中就定義了b為a的引用,就是說(shuō),b相當(dāng)于a的另一個(gè)名字,因?yàn)閎在內(nèi)存中并沒(méi)有被分配的int變量大小的空間。而取地址,就是把某個(gè)變量的地址返回,例如int* p=&a;就是把a(bǔ)的地址返回,并保存到指針p中。這兩者的主要區(qū)別就是,b就相當(dāng)于變量a,是一個(gè)量,而p或者&a代表則是a的地址,是一個(gè)地址,而不是變量a
2015-12-21
最贊回答 / onemoo
這個(gè)&并不是引用的意思,這是&是取地址操作符, 等號(hào)右側(cè)的&count意思是取count的地址,得到的是指向count的指針。p被定義為指針類型,等號(hào)右側(cè)也是指針類型,這樣才能賦值給等號(hào)左側(cè)的p。如果不寫(xiě)那個(gè)&,等號(hào)右側(cè)就是const int類型,與等號(hào)左側(cè)的類型不一致,且無(wú)法自動(dòng)轉(zhuǎn)換類型,這樣是無(wú)法賦值的。
2015-12-20
#include <string.h>
#include <iostream>
using namespace std;
int main(void)
{
//在堆中申請(qǐng)100個(gè)char類型的內(nèi)存
char *str = new char[100];
//拷貝Hello C++字符串到分配的堆中的內(nèi)存中
strcpy(str, "Hello imooc");
//打印字符串
cout<<str<<endl;
//釋放內(nèi)存
delete []str;
str=NULL;
return 0;
}
#include <iostream>
using namespace std;
int main(void)
{
//在堆中申請(qǐng)100個(gè)char類型的內(nèi)存
char *str = new char[100];
//拷貝Hello C++字符串到分配的堆中的內(nèi)存中
strcpy(str, "Hello imooc");
//打印字符串
cout<<str<<endl;
//釋放內(nèi)存
delete []str;
str=NULL;
return 0;
}
最新回答 / 流浪_老
const int * p; ?不能 改變*p ? 就是不能*p=2 ?等等之類的int * const p;?不能 改變p ? 就是不能p=&x ?等等之類的
2015-12-17