LINUX.ORG.RU

История изменений

Исправление rumgot, (текущая версия) :

Еще раз, nullptr нужен для большей типобезопасности:

class A {
public:
  A(int i) : i_(i) {}
private:
  int i_;
};

int main() {
  A a = NULL; // Ok
  A a2 = nullptr; // Ошибка компиляции

  int j = 20;
  if (j == NULL) {} // Ok
  if (j == nullptr) {} // Ошибка компиляции 
}

Вот чтобы таких запретить такие случаи, где стоит Ok и нужен nullptr.

Исправление rumgot, :

Еще раз, nullptr нужен для большей типобезопасности:

class A {
public:
  A(int i) : i_(i) {}
private:
  int i_;
};

int main() {
  A a = NULL; // Ok
  A a2 = nullptr; // Ошибка компиляции

  int j = 20;
  if (j == NULL) {} // Ok
  if (j == nullptr) {} // Ошибка компиляции 
}

Исправление rumgot, :

Еще раз, nullptr нужен для большей типобезопасности:

class A {
public:
  A(int i) : i_(i) {}
private:
  int i_;
};

int main() {
  // Ok
  A a = NULL;

  // Ошибка компиляции
  //  A a2 = nullptr;

  int j = 20;

  // Ok
  if (j == NULL) {}
  
  // Ошибка компиляции
  if (j == nullptr) {}  
}

Исправление rumgot, :

Еще раз, nullptr нужен для большей типобезопасности:

class A {
public:
  A(int i) : i_(i) {}
private:
  int i_;
};

int main() {
  // Ok
  A a = __null;

  // Ошибка компиляции
  //  A a2 = nullptr;

  int j = 20;

  // Ok
  if (j == NULL) {}
  
  // Ошибка компиляции
  if (j == nullptr) {}  
}

Исправление rumgot, :

Еще раз, nullptr нужен для большей типобезопасности:

class A {
public:
  A(int i) : i_(i) {}
private:
  int i_;
};

int main() {
  // Ok
  A a = __null;

  // Ошибка компиляции
  //  A a2 = nullptr;

  int j = 20;

  // Ok
  if (j == NULL) {}
  
  // Ошибка компиляции
  if (j == nullptr) {}
  
}

Исходная версия rumgot, :

Еще раз, nullptr нужен для большей типобезопасности:

class A {
public:
  A(int i) : i_(i) {}

private:
  int i_;
};

int main() {

  // Ok
  A a = __null;

  // Ошибка компиляции
  //  A a2 = nullptr;

  int j = 20;

  // Ok
  if (j == NULL) {
  // ...
  }
  
  // Ошибка компиляции
  if (j == nullptr) {
  // ...
  }
  
}