我正在运行一些示例程序以重新熟悉 C++,并遇到了以下问题。首先是示例代码:
void print_string(const char * the_string)
{
cout << the_string << endl;
}
int main () {
print_string("What's up?");
}
在上面的代码中,print_string
函数的参数可以改为const char * const the_string
。对于这个问题哪个更正确?
我理解它们之间的区别是一个是指向常量字符的指针,而另一个是常量指针指向常量字符。但是为什么两者都能工作呢?什么情况下会有影响?