C++, NULL != 0xcdcdcdcd



我在循环中遇到了问题。即使变量0xcdcdcdcd循环也会继续运行并崩溃。我的问题是 NULL 和 0xcdcdcdcd 有什么区别,我如何检查列表的末尾。谢谢!。另外,我正在构造函数中将 p->next_ 初始化为 NULL。

void node::showList() const{
  const node *p = this;
  std::cout << "LIST ----------------------------- " << std::endl;
  while( p != NULL ){
    std::cout << p->data_;
    p = p->next_;
  }
  std::cout << std::endl;
}

NULL 不是0xcdcdcdcd,0xcdcdcdcd没有特殊意义。如果需要空指针,请使用 NULL 或 (在 C++11) 中)nullptr。

最新更新