В качестве ограничения null-указателя должен использоваться только литерал nullptr
В качестве ограничения null-указателя должен использоваться только литерал nullptr.
nullptr
был введен в C++ 11 для поддержки концепции указателя, который не указывает на допустимый объект. Перед C++ 11 макрос NULL
и константа 0 были единственными способами задать нулевую константу указателя. Использование nullptr
чтобы указать, что null-указатели имеют несколько преимуществ по сравнению с использованием NULL
или 0
. Для образца:
nullptr
может использоваться с любым типом null-указателя, не требуя неявного приведения.
nullptr
literals допускает переадресацию параметров при помощи функции шаблона.
NULL
- макрос, который расширяется до целого числа 0
который приведен в void*
тип. Использование NULL
или 0
указание на нулевые указатели противоречит ожиданиям разработчиков. Если код ожидает nullptr
встречается NULL
или 0
вместо этого это может привести к путанице или неожиданному поведению.
Polyspace® флаги использования NULL
или 0
вместо nullptr
для указания пустого указателя. Это правило не проверяет преобразование между NULL
и 0
. См. AUTOSAR C++14 Rule M4-10-1
.
Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».
Группа: Стандартные преобразования |
Категория: Необходимый, Автоматизированный |
AUTOSAR C++14 Rule M4-10-1
| AUTOSAR C++14 Rule M4-10-2
| Check AUTOSAR C++ 14 (-autosar-cpp14)