我只是想知道为什么有两种方法来指定空指针。我一直在看link,但对它的用法还不是很清楚。
谁能举个很好的例子说明什么时候使用什么?
发布于 2011-11-02 18:40:01
自2005年以来,C++/CLI语言就已经有了nullptr关键字。当C++11为C++采用nullptr关键字时,这导致了一个问题。现在有两个,一个用于托管代码,另一个用于本机代码。C++/CLI编译器可以同时编译这两种代码。因此,当您指的是本机空指针时,您必须使用__nullptr,当您指的是托管空指针时,您必须使用nullptr。
只有在使用/clr编译时,这一点才有意义。换句话说,编写C++/CLI代码。只需在C++代码中使用普通的nullptr。
发布于 2011-11-02 17:27:17
如果我没看错的话,你应该为托管指针使用nullptr,为非托管指针使用__nullptr。但是,由于nullptr既可以用于托管指针,也可以用于非托管指针,因此我个人认为没有理由使用__nullptr。
https://stackoverflow.com/questions/7978006
复制相似问题