已采納回答 / onemoo
你在題目中寫的代碼和圖片中的不一樣啊,以題中代碼為例,區(qū)別就是:int?*&p 中 q 是引用類型,p 為 q 的引用。int *p 中的 p 就是指針。引用類型有點“別名”的意思,操作p就相當(dāng)于操作q。所以在這代碼中,這兩種聲明方式不影響最后結(jié)果。
2015-10-30
已采納回答 / onemoo
可以這樣寫! ?也許你的編譯器太老了,不能正確處理scope。一般來說,不應(yīng)在switch的case中定義變量,但其實并不是完全不能定義變量,而是有一定的限制。?因為執(zhí)行流程可能會跳過某些case,這樣定義語句也就被跳過了,所以語法不允許跳過在同個作用域中定義并初始化變量的語句,只有未初始化的聲明語句可以跳過。但實際上case 1這個label中的for語句有獨立的作用域(C++11新增的特性),在其中定義并初始化b是允許的,所以這個代碼可以編譯通過。
2015-10-27
已采納回答 / DoDream
前者存在于棧,有一定的生命周期。后者存在于堆,跟程序同生死,所以當(dāng)你不用該數(shù)組時最好釋放掉,不然會導(dǎo)致內(nèi)存泄露。推薦你一個不錯的網(wǎng)站,百度搜索C++技術(shù)網(wǎng),第一個就是了,里面有一些關(guān)于堆棧的文章,可以加深你對內(nèi)容空間的了解,這個網(wǎng)站還有很多不錯的資源可以下載,例如電子書,IDE等。
2015-10-27
已采納回答 / onemoo
const int x=3; ? ?const int &y=x; ? y=5 ?// 錯誤y 是一個const int的引用,而且 y 引用的是 x。你操作y相當(dāng)于操作一個const int變量(當(dāng)然這個變量指的是x),所以你不能給 y 重新賦值。int x=3; ?const ?int &y=x; ?y=5 ?// 仍錯誤,但 x = 5 是可以的。y 還是一個const int的引用,且引用的是 x,和前一個的道理一樣,你無法修改 y 的值。但 y 實際上引用的并非是一個const變...
2015-10-23
已采納回答 / onemoo
你想問C還是C++?只有在很老的C89標(biāo)準(zhǔn)中,變量才必須在塊作用域的開頭聲明,后來的標(biāo)準(zhǔn)就沒有這個限制了。 基本上變量在使用前聲明就行。C++中好像一直就沒有這個限制?,F(xiàn)在學(xué)習(xí)編程的話,就別再用古舊的編譯器了,最好使用支持新標(biāo)準(zhǔn)的新編譯器。
2015-10-22
最贊回答 / qq_龍_18
strcpy_s和strcpy()函數(shù)的功能幾乎是一樣的。strcpy函數(shù),就象gets函數(shù)一樣,它沒有方法來保證有效的緩沖區(qū)尺寸,所以它只能假定緩沖足夠大來容納要拷貝的字符串。在程序運行時,這將導(dǎo)致不可預(yù)料的行為。用strcpy_s就可以避免這些不可預(yù)料的行為。這個函數(shù)用兩個參數(shù)、三個參數(shù)都可以,只要可以保證緩沖區(qū)大小。三個參數(shù)時:errno_t strcpy_s(char *strDestination,size_t numberOfElements,const char *strSource);兩個...
2015-10-18
最新回答 / 無情緒患者
這是c++中指針類型的引用格式為 *&指針引用名=指針int *&q=p; 課程中前應(yīng)該還有一句int *p; 所以這句話的意思是? 給指針p取一個別名指針q,&前要*單單看int &q=p; 的話,意思是 給p取別名為q
2015-10-18
已采納回答 / onemoo
在聲明(定義)時,前面加&代表所聲明的變量是引用類型,前面的*代表指針類型。第一段代碼中,為指針賦值時,等號右側(cè)忘了寫&。第二段代碼中,聲明引用時不能在&后面加上cosnt。 引用原本就是const的。第三段代碼中:第9行, myAge為const引用,引用的是age變量。沒問題。第11行, pi為指向const int的指針,指向age變量。 沒問題。第12行, pi1為指向int的const指針,指向age變量。 沒問題。第14行, pi2為指向const int的const指...
2015-10-18
已采納回答 / onemoo
*號 用在不同的地方有不一樣的含義。第一個 *p : 在聲明(定義)時表示星號后面的變量是指針類型,也就是 p 是指向int的指針。第二個 *p : 表示將 p 這個指針“解引用”,得到的是 p 所指的對象(也就是new出來的int對象)。 第二個語句就是把20賦值給了p所指的對象。
2015-10-16
已采納回答 / onemoo
前兩語句:p是個指針,并且初始化為a的地址。第三個語句:q是個引用,初始化為p的引用,所有對q的操作都可以視為對p操作。最后一個語句: 對q解引用就相當(dāng)于對p解引用,等于訪問變量a,此語句就是將a賦值為20
2015-10-10
已采納回答 / onemoo
聲明 q 時前面的 & 代表 q 是個指針引用,所以要用一個指針來初始化。 這樣q就是指針p的引用了。引用有點“別名”的意思,你對q的操作等同于對p的操作。
2015-10-07
已采納回答 / DoDream
前者是指針常量,指針的值不能變,但指針指向的內(nèi)容可以變后者是常量指針(指向常量的指針),指針的值可以變,但指針指向的內(nèi)容不能變
2015-10-04