1
在正常的C++中,如果指針不指向任何對象,則會使用NULL表示指針。C++/CLI如何判斷句柄是否指向任何對象
class* object1 = NULL; //NULL is a special value that indicates
//that the pointer is not pointing to any object.
if(object1 == NULL) {
cout << "the pointer is not pointing to any object" << endl;
}
else {
cout << "the pointer is pointing to any object" << endl;
}
那麼C++/CLI Handles看起來如何? 我在互聯網上發現了這個。有人可以告訴我,我是否正確?
class^ object2 = nullptr;
if(object2 == nullptr){
cout << "the pointer is not pointing to any object" << endl;
}
else {
cout << "the pointer is pointing to any object" << endl;
}
是的你是對的。你也可以在現代C++中使用nullptr而不是NULL(11以上)。 –
@LukaszDaniluk哦,在學校裏,我們總是使用NULL(只使用指針,沒有句柄)。那麼這兩者之間最大的區別是什麼,你應該使用nullptr而不是NULL的原因是什麼? – delorax
C++ 11標準化並清理NULL。在過去,它或多或少是一個指向0的指針。現在它基本上仍然是一個指向零的指針,但是使用了一個不太容易被濫用的包裝器。 http://stackoverflow.com/questions/1282295/what-exactly-is-nullptr – user4581301