Является ли 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,

Да, это то же самое. Это неверный указатель.

Другие вопросы по тегам