我知道你会说它是一个重复的但是相信我,我读了很多关于这个的文章,但我仍然无法理解什么是差异所以我给出了两个例子。
1。
int strlen(const char* string)
{
int i = 0;
while (string[i] != '\0')
{
++i;
}
return i;
}
2
int strlen(char* string)
{
int i = 0;
while (string[i] != '\0')
{
++i;
}
return i;
}
主:
int main()
{
char str[] = "Hello";
cout << strlen(str) << endl;
}
第二个会起作用,在第一个不会出错时。
答案 0 :(得分:1)
案例1:您可以不更改string
的值,它是只读的。它用于防止函数改变参数值(最小特权原则)
案例2:您可以更改string
的值。
另外,请检查评论中的链接。