最贊回答 / TIMELORD4083146
當const已經修飾一直變量時,再去用指針去指這個變量會很危險,因為指針可以改去該變量的值,與const就有沖突的風險,const int *p=&a和const int * const p=&a是可以的,這樣保證了*p的值不能改變,所以就不會有與const沖突的可能性。<...code...>
2018-11-12
已采納回答 / 慕設計4173655
申請了10個整型內存,就把10個內存空間都釋放掉,用delete[] arr;用delete arr 只是釋放了第一個空間,還有九個沒釋放掉哦。
2018-10-31
已采納回答 / Loading_ling3795574
確實是錯誤用法,C++信奉一個原則,不管你設計的程序是否涉及到錯誤方法使用,只要存在錯誤,不管用沒用到,就是錯的!我們看你說的例子,x是常變量,不可以修改,如果y是指向x的指針,那么*y也不能修改,*y可以看做是x的引用,畢竟引用本質就是指針啊,也得是常變量,這點沒問題吧,記住這就是編譯器在上述中得到的信息點,接下來聲明指針y,聲明指針y的時候到底要不要表明,*y是const,如果表明,沒問題了,這點沒有疑問吧,如果不標明呢,這個語句int *y=&x意味著什么呢?*y可以修改,是變量,這是C++...
2018-10-19
最贊回答 / HeRo_Lxp
你這個沒辦法實現輸出數組中的最大值? ?輸出的是maxNum和數組中的數中的最大值 不過第一個還是不用理會? 這個判卷系統有點垃圾? ?要取arr[0]和arr[2]才是正確輸出? ?下面是我的代碼? ?作為參...
2018-10-13
最贊回答 / CodeOfCoin
我是這樣理解的,如果是void fun(int x,int y)其實是找了一個跟羅xx同名的人,但本質上不是羅某某,所以形參的羅xx無論做什么事情都不會影響實參羅xx但是void fun(int &x,int &y)是給了實參羅某某取了別名,叫蘿卜頭,你叫蘿卜頭做什么事情,實質上是去叫羅某某做的,所以形參用的是引用的話,形參的數值的改變肯定會影響到實參的值
2018-10-09
最贊回答 / 白曄未稀
用指針傳參是傳址,比用值傳參效率更高,也更節約內存。例如一個函數需要傳入一個結構體對象,用某個指針指向要傳入的結構體作為函數實參,則傳入的指針是一個地址,如果地址是int型則只占用8bit內存,如果用結構體對象實例傳值作為實參,所傳數據的大小是該結構體所有成員大小之和,比一個地址所占用的內存大得多,所以用指針傳參既節約了內存,又提升了函數運行的效率。
2018-08-11
最贊回答 / 修裾欲溯空
作用域分為:
1. 函數原型作用域(最小的作用域)
函數原型:int func(int x); 這是一個函數聲明,函數形參x 的作用域就時所謂的函數原型作用域。
2. 塊作用域
一對大括號 { ... } 內的一段程序,塊中聲明的標識符作用域就是塊作用域。
3. 類作用域
類成員的作用域。
4. 文件作用域(static)
全局靜態變量具有全局作用域,從聲明處開始,到文件(.cpp文件)結尾處結束。
5. 全局(程序)作用域(extern)
全局變量具有全局作用域,只要在使用前對其進行...
2018-07-31