今天看了乙個**,有這樣一句:
plisthead *plisthead,*ptobedeleted;
if(!plisthead||!ptobedeleted)
之前一直不理解,這個!+指標的模式表示的是指標沒有初始化,還是指標為空。
於是我做了乙個兩個實驗,**如下
int *p;
if(!p)
這個是沒有初始化的指標,結果直接顯示編譯不通過。
int *p=new
int;
if(!p)
可以執行,沒有執行if內容。
這個表明指標p只要初始化分配記憶體空間了,!p就為false。
int *p=nullptr;
if(!p)
列印:true
這說明對於非符號「!」來說,只有指標為空才是true的。
然後我對變數int也做了一下實驗。
int i
if(!i)
編譯錯誤
這個也不行,只要不初始化,就無法進行非的判斷。
int i=5;
if(i)
列印:true
只有這樣才能編譯通過,所以對於非指標變數來說,只要初始化了在if中就應該為true。 反射的簡單理解
載入類 3個方式 person有2個屬性,name和age,最後會給出person類的資訊 class clazz1 class.forname person class clazz2 person.class person p new person class clazz3 p.getclass ...
svm的簡單理解
svm是一種訓練機器學習的演算法,可以用於解決分類和回歸問題,同時還使用了一種稱之為kernel trick的技術進行資料的轉換,然後再根據這些轉換資訊,在可能的輸出之中找到乙個最優的邊界。簡單來說,就是做一些非常複雜的資料轉換工作,然後根據預定義的標籤或者輸出進而計算出如何分離使用者的資料。簡單理...
EventBus的簡單理解
1.新增依賴compile org.greenrobot eventbus 3.0.0 2.定義乙個類,有參構造方法。我的簡單的理解 接收方和傳送方和eventbus的關係 接收方相當於訂閱報紙,傳送方相當於報社,eventbus相當於送報紙的人,只有你先訂閱了報紙,報社會讓人給你去送報紙 所以想讓...