代码之家  ›  专栏  ›  技术社区  ›  Anycorn

C++标准问题

c++
  •  0
  • Anycorn  · 技术社区  · 15 年前

    指针2的值应该为空吗?

    double *pointer = 0;
    double &value = *pointer;
    double *pointer2 = &value;
    
    2 回复  |  直到 15 年前
        1
  •  6
  •   Michael Burr    15 年前

    对。

    double *pointer = 0;    // init `pointer` to a NULL pointer value
    double &value = *pointer; // dereference it
    

    本标准专门针对这种情况—从8.3.2/4“参考文献”中:

    引用应初始化为 引用有效的对象或函数。 不能存在于定义良好的 创建这样一个引用 将其绑定到 取消对空指针的引用 如9.6所述,引用不能 直接绑定到位字段。]

        2
  •  3
  •   sepp2k    15 年前

    *pointer 在第二行。