C 引用的一點點猜想

2021-06-13 23:53:08 字數 1242 閱讀 4138

沒事逛了下bbs,發現了下面乙個有意思的問題:

問題:int *p = new int;

*p;

請問*p 返回的是int 的乙個引用吧?

猛一看,感覺是的,於是寫了段**驗證一下。

#include using namespace std;

int main()

輸出結果如下:

cyw@debian:~/test$ ./a.out 13

再看如下**:

#include using namespace std;

int main()

輸出結果:

cyw@debian:~/tools/test$ ./a.out 13

由此可見,p始終是第一次在堆上new出來的那個int大小的記憶體的引用。

所以最上面的那個問題,×p可以看作是乙個引用。

又記:經過近日思索,感覺以上說法有些欠妥。

不妥之處在於引用的初始化,引用在生存期開始時初始化,並且沒有空引用的概念,在整個引用的生存期內,引用本身是不可以變的。

但是×p不一樣,首先p是可以改變的。想辦法將p具有常量性,將如下**進行更改:

int *p = new int(1);
改為:

int * const p = new int(1);
這時p在初始化後是不能改變。此時感覺×p離引用更近了一點。再從另乙個角度來考慮,引用在它的生存期內一直指向它初始化時所指之物。那麼看一下×p符不符合這個概念。

假如我把第二段**修改一下:

#include using namespace std;

int main()

輸出結果為:

cyw@debian:~/tools/test$ ./a.out 

1equal

3此時×p指向的東西被默默的替換為char。此刻就會出現混亂。對b的操作結果和對p的操作結果有可能是不同的。

#include using namespace std;

int main()

輸出結果為:

cyw@debian:~/tools/test$ ./a.out 

1equal

253

深度學習的一點點一點點知識

我們手裡有大量的x和y,求權重訓練的是權重資料樣本 xwy 身高0體重0 血型0.3 腳指頭0.8 一組x計算出對應的乙個y 計算過程是w 下面的就是最基礎的公式 我們已知資料是大量的x和y 希望通過 西塔 來獲得w 我們的學習才剛剛開始,首先需要理解的是與門 x1x2y0 0001 0100 11...

一點點感想

寫在這喧囂與寂寞的世界 今天我與chen在風初停的早上跑去借書,借了安妮的 清醒記 兩本三毛的書和一本yilan的旅行與味蕾的書。從圖書館出來,風似乎有些冷,想到又要到那陰冷的梅花館坐在又涼又硬的椅子上上一節乏味的數學課我們便都不約而同的想到了逃課。帶著心裡的負罪感我們躲進八食取暖。無意中我們嘗到了...

一點點感悟

這兩天一直在努力的調整狀態,考慮了很多,也想通了很多,因為看開了,所以狀態也好了很多。明白了,一件事情的兩面性,壞的一面會使自己痛苦不堪,好的一面會使自己心情愉快。看了一篇文章,感觸很大,裡面有很多啟發自己的語句。二十幾歲的人,除了愛情之外,還需要有一項能使自己生活的本領 要把自己的感觸 心情和生活...