gpt4 book ai didi

c++ - C 中的指针运算和 const 限定符

转载 作者:太空狗 更新时间:2023-10-29 19:37:37 25 4
gpt4 key购买 nike

在下面的一段代码中,计算strlen,

int s(const char* str)
{
int count=0;
while(*str++) count++;
return count;
}

你可以看到参数 str 是 const。但是,当我执行 str++ 时,编译器不会提示。我的问题是

当将指针作为参数传递给 C 函数时,如果 is 是用 const 限定的,我如何仍然对其执行指针运算?上面函数中的const是什么?

最佳答案

const char* str;

表示指向常量数据的非常量指针。

char* const str;

表示指向非常量数据的常量指针。

const char* const str;

表示指向常量数据的常量指针。

原因是在 C++ 中,变量类型声明是从右到左解析的,这导致单词“const”总是定义它最接近的事物的常量。

关于c++ - C 中的指针运算和 const 限定符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4786364/

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