gpt4 book ai didi

c++ - `const char * const` 与 `const char *` ?

转载 作者:IT老高 更新时间:2023-10-28 11:55:01 33 4
gpt4 key购买 nike

我正在运行一些示例程序以重新熟悉 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。哪个更正确?

我知道区别在于一个是指向常量字符的指针,而另一个是指向常量字符的常量指针。但为什么这两种方法都有效?什么时候相关?

最佳答案

后者阻止您修改 print_string 内的 the_string。在这里实际上是合适的,但可能是冗长推迟了开发人员。

char* the_string :我可以更改 char the_string 指向哪个,我可以修改 char 它指向的。

const char* the_string :我可以更改 char the_string 指向的位置,但我无法修改char 它指向的。

char* const the_string :我无法更改 char the_string 指向的位置,但我可以修改char 它指向的。

const char* const the_string :我无法更改 char the_string 指向的位置,也无法修改它指向的 char

关于c++ - `const char * const` 与 `const char *` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4949254/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com