函数参数是指针时,为什么必须在类型前面加const。
看到一份编程规范说:
如果函数参数是指针,且仅作输入用,则必须在类型前面加上const,以用来防止该指针在函数体内被意外修改。
我传入函数体的指针,如果我不主动去修改指针的值,有什么可能会被意外的修改。
有没有人能举一个例子。
[解决办法]
这是为了提高代码的健壮性。防止人为失误。
[解决办法]
为了提高代码的健壮。。定义为const,
[解决办法]
如果你不去操作那个值,加上const也不会对你的函数造成什么副作用,相反,如果不加,想要传入一个const指针时就传不进来了
很常见的一个问题,有一接收c风格字符串的函数,如果写char *,那只能传入char数组或动态分配的char数组,写成const char *就可以传入宏定义的常量字符串,CString,std::string(c_str())等等各种类型的字符串