Является ли nullptr в C++ таким же, как null в C#?
является ли nullptr в C++ таким же, как null в C#?
похоже, никто не задал этот вопрос в Google или Stackflow.
3 ответов
В общем да, оба присваивают нулевое значение указателю типа
- C#: типы классов, интерфейсов, делегатов или указателей
- C++: типы указателей или тип указателя на член
он не преобразуется в числовые значения на любом языке. Одно отличие заключается в том, что в C++ nullptr можно использовать bool. Это неверно в C#
да. В C++, nullptr эквивалентно null в Java, C# и различных других языках. До C++11 он был стандартным для использования NULL (который был макросом, определенным как 0); однако, nullptr фактически гарантирует, что он может использоваться только в контексте указателей (тогда как NULL, в силу того, что он был определен как 0, также может использоваться в качестве возвращаемого значения для функции, которая возвращает int вместо указателя, что противоречит интуиции), хотя оба nullptr и NULL неявно конвертируются в bool.