空指標真的是0麼?

2021-05-23 04:45:14 字數 396 閱讀 5907

我們平常寫程式時習慣使用null或者0作為空指標,而且已經是習以為常了。

今天在處理乙個pointer to member指標時發現返回值為0下意識的以為返回的是個空指標,但是發現確進入了下面的if語句。

然後研究了下編譯出來的**,發現空指標值被換成了0xffffffff,因為pointer to member是可能為0的。

聯想到其他平台有可能空指標實際上不是0的情況,現在實際上x86平台也有不是0的空指標了。

這倒是我孤陋寡聞了。

編譯器會將程式中的指標判斷識別出來並且正確的轉換為操作,即使你使用null或者0作為判斷甚至if(指標)的形式都是可以正確轉換的。

雖然這樣,但是如果你使用類似"*(void **)&"這種強制的進行指標的強制轉換編譯器就愛莫能助了,只能是悲劇的產生。

真的是物件導向麼?

現在絕大部分搞開發的都用的是物件導向語言來開發軟體系統。是不是用物件導向開發語言做出的產品就一定是物件導向的軟體系統?我接觸和帶過很多的程式設計師,有剛畢業沒兩年的,也有畢業了 六 七年的老程式設計師。他們中大部分都是很聰明 反應也很快。但是我很困惑的是 他們可以很快很好的完成你安排下去的工作。但同...

未來真的是光明的麼

以前的我總是渾渾噩噩的生活,所有作為乙個女孩子不該幹的事情我基本上都嘗試過了,我承認我不是乙個好女孩。我不想受是任何的束縛,我喜歡自由,喜歡叛逆的感覺,可是我不能這個樣子過一輩子。我不想碌碌無為的過完我的一生,人活再世界上總要做點什麼,所以在錯學將近一年以後我又重新走進了課堂,可是那不在是以前的課堂...

你是真的太累了麼?

我太累了 我有太多還沒有開始計畫就流產的專案,都是因為這句話。這是乙個能夠讓我的任何乙個計畫泡湯的藉口。就是這麼簡單的理由,但是,僅僅因為乙個藉口是合理的,並不意味著它是值得的。因為我總能想象即便我感覺自己休息得足夠,並且充滿能量,我太累了 依然可以成為我的藉口來讓我放棄任何乙個有有意義的事情,現在...