![](/img/trans.png)
[英]How can I use Linux getrandom system call to generate a random number within a range?
[英]Can I use nullptr as a Linux system call parameter?
我正在C ++ 11中的Raspbian上开发用户空间应用程序。 ReSharper ++建议我在以下系统调用中使用nullptr
而不是NULL
:
auto ret = timerfd_settime(this->_timer_fd, 0, &timeout, NULL);
assert(0 == ret);
我认为我应该保留NULL
因为该库专用于C语言中的系统编程。
在这种情况下,最佳做法是什么?
NULL
和nullptr
都可以正常工作。 但是,由于这是C语言中的syspro,因此我将使用NULL
,因为这是我在该字段中经常看到的(如果不是总是这样)。
如果检查系统调用的引用 ,您会看到到处都提到NULL
,而不是nullptr
,这是您应该期望的(如果不能确保您将阅读以下答案)。
同时检查NULL vs nullptr 。
我会留在nullptr上,因为意图更加明确。
任何类型都有nullptr到指针的隐式转换,因此绝对安全。
cppreference.com:
关键字nullptr表示指针文字。 它是std :: nullptr_t类型的prvalue。 存在从nullptr到任何指针类型以及指向成员类型的任何指针的null指针值的隐式转换。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.