В качестве ограничения 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)