函数传参中,形参类型为何使用const char*,而不是用char*

发布时间 2023-07-30 00:46:32作者: DawnTraveler

1.当传递常量字符串给 char* 类型的形参时,C++ 编译器可能会发出警告,因为 char* 可以用于修改字符串内容。而使用 const char* 类型,则指示调用者不应该修改传入的字符串内容,从而避免了可能的副作用。

2.在构造函数中使用 const char* 参数类型还有一个优点,它可以接受字符串常量或者字符数组作为实参,而不仅限于 char*

Person(int age, const char* str) {
    // ...
}

const char* name = "John"; // 字符串常量
Person p1(25, name);

char buffer[20] = "Jane"; // 字符数组
Person p2(30, buffer);