我们现在拥有许多新功能的C++ 11.一个有趣且令人困惑的(至少对我来说)是新的nullptr.
嗯,不再需要令人讨厌的宏了NULL.
int* x = nullptr;
myclass* obj = nullptr;
Run Code Online (Sandbox Code Playgroud)
尽管如此,我还没有得到如何nullptr运作.例如,维基百科的文章说:
C++ 11通过引入一个new 关键字作为一个区分空指针常量来解决这个问题:nullptr.它的类型为nullptr_t,它是可隐式转换的,可与任何指针类型或指向成员类型的类型相媲美.除了bool之外,它不可隐式转换或与整数类型相比.
它是一个关键字和一个类型的实例?
另外,你有另一个例子(在维基百科旁边)哪里nullptr优于好老0?
这段代码在概念上对三个指针(安全指针初始化)做了同样的事情:
int* p1 = nullptr;
int* p2 = NULL;
int* p3 = 0;
Run Code Online (Sandbox Code Playgroud)
所以,什么是分配球的优势,nullptr在赋予它们的值NULL或0?
由于在C中输入"&"而不是"&&",我在上个月遇到了一系列错误.
我最近的一个很简单 - 就是我写的
value = data && 0x0123
Run Code Online (Sandbox Code Playgroud)
在我休息后看到该值为0或1时显而易见,但我想要一种方法来捕捉它,类似于编码
if (1 == END) ...
Run Code Online (Sandbox Code Playgroud)
抓住误用=和==.
有任何想法吗?
我脑子里有个问题.在我看到的许多地方
int a=2;
if(2==a){
//Some operation
}
Run Code Online (Sandbox Code Playgroud)
你能告诉我什么是对比较优势2==a的地方a==2.