![](/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.