首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以使用nullptr作为Linux系统调用参数吗?

我可以使用nullptr作为Linux系统调用参数吗?
EN

Stack Overflow用户
提问于 2015-09-05 20:21:02
回答 2查看 706关注 0票数 2

我正在C++11中的Raspbian上开发一个用户空间应用程序。ReSharper++建议我在以下系统调用中使用nullptr而不是NULL

代码语言:javascript
复制
auto ret = timerfd_settime(this->_timer_fd, 0, &timeout, NULL);
assert(0 == ret);

我认为我应该继续使用NULL,因为这个库专门用于C语言的系统编程。

在这种情况下,最佳做法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-05 22:49:30

我会和nullptr呆在一起,因为我的意图更清楚。

对于任何类型都有nullptr到指针的隐式转换,所以绝对是安全的。

cppreference.com:

关键字nullptr表示指针文字。它是一个std::nullptr_t类型的prvalue。存在从nullptr到空指针值的任何指针类型和任何指针到成员类型的隐式转换。

票数 2
EN

Stack Overflow用户

发布于 2015-09-05 20:32:15

NULLnullptr都能正常工作。但是,由于这是C中的syspro,所以我将使用NULL,因为这是我在这个领域中经常看到的(如果不是总是的话)。

如果您检查系统调用的参考文献,您将看到在任何地方都提到了NULL,而不是nullptr,这是您应该期待的事情(如果没有确保您将阅读下面的答案)。

也检查一下NULL对nullptr

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32417330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档