C++学习笔记C++C++

C++写函数时参数为指针或引用类型时应给指针或引用加const

2016-04-26  本文已影响258人  这是朕的江山

如果函数参数是指针,且仅作输入用,则必须在类型前面加上const,以用来防止该指针在函数体内被意外修改。

举个例子:

void print(char *str)

{

printf("%s\n", str);

}

const char *str = "hello world";

print(str);

上面的代码会报错

当参数是char *时不能接受const char *类型的参数,只能接受char数组或动态分配的数组。而当参数类型是const char *时,可以接受char *、const char *;也就是提高了代码的参数的可接受范围。

同理引用也是如此,但const引用比const指针更为强大,初始化的过程中可以采用任意的对象,const对象,非const对象,甚至其他类型的数据。const引用支持隐式类型转换。而指向const的指针则不能,只能指向同一类型的数据,但是可以采用强制类型转换,初始化或者赋值过程中对数据类型没有要求,可以是const对象的地址,也可以是非const对象的地址。

const引用和指向const对象的指针都是使自己指向的对象不能修改,采用const的指针或者引用就能避免原始数据修改。

That's all.

上一篇下一篇

猜你喜欢

热点阅读