Jja*_*ang 2 c++ pointers const reference
我想知道c ++中const ref和const指针之间的区别是什么.当我宣布某事为const ref时,我可以改变它的值吗?或者const继续对象?因为我知道const指针意味着你不能改变POINTER,但你可以改变它指向的VALUE.
例如:
const char& a; // ?
const char* a; // pointer is const
Run Code Online (Sandbox Code Playgroud)
Fred const&x;
它表示x对Fred对象建立别名,但x不能用于更改Fred对象.
Fred const*p;
Fred const*p表示"p指向常量Fred":Fred对象不能通过p更改.
Fred*const p;
Fred*const p表示"p是指向Fred的const指针":你不能改变指针p,但你可以通过p改变Fred对象.
可以将最后一个组合起来得到:
Fred const*const p;
Fred const*const p表示"p是指向常量Fred的常量指针":你不能改变指针p本身,也不能通过p改变Fred对象.
有关此更多信息,请访问此链接.