c++T*;T* const; const T*; const T* const; T&; T& const; const T&; const T& const

新学pointer 请问这些定义在c++哪个是有意义的?为什么?
2025-02-24 07:31:15
推荐回答(2个)
回答1:

都是有意义的。
T* 一个普通类型T的指针;
T* const 是一个常量指针,即这个指针不能再指向其他T对象;
const T*是一个指向常量的指针,即被指向的内容是不能通过这个指针改变的;

剩余的三个含义与上述一样,就是把指针换成引用。

回答2:

const靠近哪个就是哪个不能变,如:
1、T* const,靠近变量,故指针变量不能变,即只能一值指向初始值;
2、T const *,靠近*,则地址解析后不能变,即所指向的变量不能能过此指针改变值。