CppCoreGuidelines SL.str.4 用 char* 访问单个字符
22 December 2023
“Use char* to refer to a single character”
理由
目前代码中大部分用到 char*
的地方都是错误的根源。
坏例子
char arr[] = {'a', 'b', 'c'}; void print(const char* p) { cout << p << '\n'; } void use() { print(arr); // run-time error; potentially very bad }
数组 arr
不是一个 C 风格字符串,因为它不是空字符结束的。
其他建议
请查看 zstring
, string
, string_view
强化
- 标记在
char*
上使用[]
的情况