c++ - nullptr 与 __nullptr

标签 c++ c++11 c++-cli

我只是想知道为什么有两种方法可以指定空指针。我一直在经历link ,但对它的用途没有清楚的了解。

有人可以举一个什么时候使用什么的好例子吗?

最佳答案

自 2005 年以来,C++/CLI 语言已经有一个 nullptr 关键字。当 C++11 为 C++ 采用 nullptr 关键字时,这导致了一个问题。现在有两种,一种用于托管代码,另一种用于 native 代码。 C++/CLI 编译器可以同时编译这两者。因此,当您指的是 native 空指针时,您必须使用 __nullptr,当您指的是托管空指针时,您必须使用 nullptr。

这仅在您使用有效的/clr 进行编译时才相关。换句话说,编写 C++/CLI 代码。只需在 C++ 代码中使用普通的 nullptr。

关于c++ - nullptr 与 __nullptr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7978006/

相关文章:

来自不同类的 C++ 多个回调成员函数,没有 std 和 boost

mysql - 读取器仅从 MySQL 数据库中选择空字段 - 错误消息 : The Value cannot be NULL Paramter: Item

c++ - 在不同平台/gcc 版本上使用 boost 时出现奇怪的行为

c++ - 可变大小的 char[] - 可以吗?

c++ - C++ 中 seekp(...) 的奇怪行为

c++ - 将多个参数作为单个宏参数传递

C++ : auto variable deduction differs range for loop vs a normal for loop for multi dimensional array

C++/cli 将 LPCSTR 转换为 System::String^

c++ - 使用内联插入标题内容

c++ - 获取笔记本电脑的电池信息并将其放入 C++ 中的标签中