В качестве ограничения указателя NULL должен использоваться только литерал nullptr
В качестве ограничения указателя NULL должен использоваться только литерал nullptr.
nullptr введена в C++ 11 для поддержки понятия указателя, не указывающего на допустимый объект. Перед C++ 11 макросNULL и константа 0 были единственными способами определения константы нулевого указателя. Используя nullptr указание нулевых указателей имеет несколько преимуществ по сравнению с использованием NULL или 0. Например:
nullptr может использоваться с любым типом нулевого указателя без необходимости неявного приведения.
nullptr литералы разрешают пересылку параметров с помощью функции шаблона.
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)