C++ 常量指针引用

C++ 常量指针引用,c++,C++,有关以下代码: class Foo { private: int var; int* var_ptr; public: Foo() : var_ptr(&var), var_ptr_ref(var_ptr) {} int*& var_ptr_ref; // Read only access to var and var_ptr }; 当通过var\u ptr\u ref访问时,是否可以使指针常数和实际变量常数保持不变?尝试将var\u p

有关以下代码:

class Foo {
 private:
    int var;
    int* var_ptr;

 public:
    Foo() : var_ptr(&var), var_ptr_ref(var_ptr) {}
    int*& var_ptr_ref;  // Read only access to var and var_ptr
};

当通过
var\u ptr\u ref
访问时,是否可以使指针常数和实际变量常数保持不变?

尝试将
var\u ptr
声明为
const int
var\u ptr\u ref
声明为
const int*const&

class Foo {
 private:
    int var;
    const int * var_ptr;

 public:
    Foo() : var_ptr(&var), var_ptr_ref(var_ptr) {}
    const int * const & var_ptr_ref;
};

将引用成员“var\u ptr\u ref”绑定到构造函数行的临时变量时出现错误
。@user1135541至少我的VS2015很乐意编译它。这是一个警告,使用clang。@user1135541 clang实际上可能是正确的。尝试更新的版本。