首页 > 其他分享 >const 一般类型/指针/引用 与临时对象

const 一般类型/指针/引用 与临时对象

时间:2023-01-03 20:11:29浏览次数:31  
标签:p2 const 指向 int 对象 引用 指针

const 一般类型:

其中i不能重新被赋值。

 

const 指针:

int * p1; 这个指针代表,指针指向的内容可以改变,且指针本身可以改变指向。

int const* p2; / const int* p2;  这个指针代表,指针指向的内容不可更改,但指针本身可以改变指向。

int * const p3; 这个指针代表,指针指向的内容可以改变,但是指针本身不能改变指向。

const int * const p4; 这个指针表示,指针指向的内容不可以改变,且指针本身不可以改变指向。

其中p1并不能被p2与p4赋值。提示错误(不能将const int*类型的值分配到int*类型的实体),但能够被p3进行赋值,且能够改变指向的内容。

其中p2能被p1赋值,但通过p2并不能改变指向的内容,能够继续通过p1进行改变指向的内容。p2也能被p3,p4赋值。

其中p3和p4都不能改变指向,自然不能重新被赋值。

例子:(https://blog.csdn.net/baidu_38410526/article/details/102679685)节选

 

const 引用

const引用可读不可改,与绑定对象是否为const无关,

非const引用可读可改,只可与非const对象绑定。

 

临时对象

匿名对象可以理解为临时对象。

临时对象是有常属性的,只能作为右值。不能把临时对象作为实参传给非const引用。可以传给const引用。 (关于这一点,辩证参考https://blog.csdn.net/qq_32693119/article/details/79716462)

可以用普通对象接收临时对象,因为拷贝构造函数中就是进行常引用。

自定义类中,临时对象能够调用类的非const方法。

标签:p2,const,指向,int,对象,引用,指针
From: https://www.cnblogs.com/ylww/p/17022427.html

相关文章