Только литерал nullptr должен использоваться в качестве ограничения нулевого указателя
Только литерал 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)