nullptr相关内容

在 g++ 中使用 nullptr 需要包含哪些头文件?

我正在使用 g++ 4.4.1 并想使用 nullptr,但我无法找到需要包含的头文件.它似乎也不是关键字,因为我使用它的尝试被拒绝为 错误:'nullptr' 未在此范围内声明 解决方案 GCC 4.4.1 不支持 nullptr. 在 GCC 4.6.0 中添加了对 nullptr 的支持:http://gcc.gnu.org/gcc-4.6/changes.html 改进了 ..
发布时间:2022-01-23 20:40:27 其他开发

使用 nullptr 有什么好处?

这段代码概念上对三个指针做了同样的事情(安全指针初始化): int* p1 = nullptr;int* p2 = NULL;int* p3 = 0; 那么,分配指针 nullptr 与分配值 NULL 或 0 相比有什么优势? 解决方案 在那段代码中,似乎没有什么优势.但请考虑以下重载函数: void f(char const *ptr);void f(int v);f(NULL) ..
发布时间:2022-01-06 22:27:51 C/C++开发

NULL 与 nullptr(为什么被替换?)

我知道在 C++ 中 0x 或 NULL 在基于指针的应用程序中被 nullptr 替换.我只是想知道他们进行此替换的确切原因? 在什么情况下使用 nullptr 而不是 NULL 在处理指针时有益? 解决方案 nullptr 具有类型 std::nullptr_t.它可以隐式转换为任何指针类型.因此,它将匹配重载解析中的 std::nullptr_t 或指针类型,但不匹配其他类型, ..
发布时间:2021-12-13 12:47:09 C/C++开发

nullptr 究竟是什么?

我们现在拥有具有许多新功能的 C++11.一个有趣且令人困惑的(至少对我而言)是新的 nullptr. 好吧,不再需要讨厌的宏 NULL. int* x = nullptr;我的类* obj = nullptr; 仍然,我不明白 nullptr 是如何工作的.例如,维基百科文章说: C++11 通过引入一个新的关键字来纠正这个问题,作为一个特殊的空指针常量:nullptr.它是 t ..
发布时间:2021-12-01 15:07:49 C/C++开发

抛出异常:写访问冲突.这是 nullptr

所以我正在尝试创建一个缓冲区类.这个缓冲区类包含一个大小为 384*4 的巨大缓冲区.计划是针对接收到的每个 UDP 数据报大小(384),调用缓冲区类并返回一个指向数据报应写入位置的指针. 还有另一个侦听器指针,RtAudio 播放将从中进行 memcpy.[听力部分尚不完全相关,因为我仍然有写入缓冲区的问题] 当我尝试调用 server_->getPointer() (如下所示) ..
发布时间:2021-11-26 20:23:48 C/C++开发

在 mac 上编译时未在范围内声明 nullptr

我正在尝试使用“又一个 PCnt 库" 用于在我的 Arduino mega 2560 上启用引脚更改中断.在 Arduino IDE 中,代码在 Windows 上编译良好,但在 mac 上失败.它给出了一个错误代码说明: nullptr 未在此范围内声明attachInterrupt(pin, (callback)func, nullptr, mode, trigger_now);^ 我 ..
发布时间:2021-11-17 03:56:15 C/C++开发

C++ 中的 nullptr 与 C# 中的 null 相同吗?

C++ 中的 nullptr 和 C# 中的 null 一样吗? 似乎没有人在 Google 或 Stackflow 上问过这个问题. 解决方案 一般来说都是的,都将空值赋给指针类型 C#:类、接口、委托或指针类型 C++:指针类型或成员指针类型 它不会转换为任何一种语言的数值.一个区别是在 C++ 中 nullptr 可以转换为 bool.这在 C# 中并非如此 ..
发布时间:2021-06-10 18:39:07 C#/.NET

为什么nullptr无法转换为int?

摘要: nullptr 转换为 bool ,而 bool 转换为 int ,为什么不 nullptr 转换为 int 吗? 此代码还可以: void f(bool);f(nullptr);//好的,nullptr转换为bool 这没关系: bool b;int i(b);//好的,布尔值转换为int 那为什么不行呢? void f(int);f(nullptr);//为什 ..
发布时间:2021-04-20 18:32:22 C/C++开发

您可以将nullptr与其他指针进行比较吗?它总是更小吗?

这个问题基于我发现的用于监视可能的内存泄漏的代码,因此它包含一些您可能不希望在常规程序中看到的代码,例如排序指针. 但是,我看到一个指针被设置为 nullptr ,然后将该指针与一个最大地址进行比较.C ++标准是否保证 nullptr 总是小于 operator ..
发布时间:2021-04-19 19:54:43 C/C++开发

引发异常:写访问冲突.这是nullptr

因此,我正在尝试创建一个缓冲区类.该缓冲区类包含一个大小为384 * 4的巨大缓冲区.该计划是针对每个收到的UDP数据报,大小为384,调用缓冲区类并返回一个指向应将数据报写入位置的指针. 将有另一个侦听器指针,RtAudio播放将从该侦听器指向. [聆听部分还不完全相关,因为我在写入缓冲区时仍然遇到问题] 当我尝试调用server _-> getPointer()(如下所示)时,将引 ..
发布时间:2021-04-16 19:26:19 C/C++开发

在Mac上进行编译时,未在范围内声明nullptr

我正在尝试使用"又一个PCInt库"以在我的Arduino mega 2560上启用针脚更改中断.在Arduino IDE中,该代码在Windows上可以正常编译,但在mac上失败.它给出了一个错误代码,说明: nullptr在此范围内未声明attachInterrupt(pin,(callback)func,nullptr,mode,trigger_now);^ 如何在arduino I ..
发布时间:2021-04-09 19:09:52 C/C++开发

C ++ 11:如何使用nullptr初始化某个类的指针数组?

我是C ++的新手.我有一个名为MyDate的类.另外,我有一个名为Calendar的类,该类具有指向MyDate对象的指针数组的成员类型.我应该如何在Calendar的构造函数中将数组的成员声明和初始化为nullptr? 解决方案 智能指针默认初始化为nullptr: class Calendar { std::array, 42 ..
发布时间:2020-07-01 23:00:09 C/C++开发

查找指向NULL的指针

我有int* foo[SIZE],我想在其中搜索第一个指向NULL的元素. 但是当我这样做时: std::find(foo, foo + SIZE, NULL) 我得到了错误: 错误C2446:'==':没有从'const int'到'int *' 的转换 我应该只使用static_cast(NULL)而不是NULL吗? C ++ 11通过 nullp ..
发布时间:2020-07-01 22:59:55 C/C++开发

C/C ++ nullptr取消引用

因为在C和C++中都取消引用nullptr(NULL)是未定义的行为,所以我想知道如果ptr为nullptr(). 如果这也是未定义的行为,则链接的答案中的 OFFSETOF 宏如何工作? 我一直认为ptr->field是(*ptr).field 的简写 我认为我的问题的答案在C和C ++中是相似的. 解决方案 TL; DR &(*(char*)0)定义明确. C + ..
发布时间:2020-07-01 22:59:41 C/C++开发

是否有任何主要的C ++实现实际上将NULL定义为nullptr?

自C ++ 11起,标准允许宏NULL可以是值为零的整数文字或类型为std::nullptr_t的prvalue. 任何标准库供应商决定将其NULL的定义从整数更改为nullptr,很可能会导致依赖C ++ 11之前代码的客户端损坏. 是否有任何主要的实现方式(例如,GCC,Clang,MSVC)将NULL定义为nullptr??或者,尽管有可能,没有人这样做吗? 解决方案 l ..
发布时间:2020-07-01 22:59:35 C/C++开发