考虑以下代码:
bool isFoo(const char* bar) {
return !strcmp(bar, "some_long_complicated_name");
}
Run Code Online (Sandbox Code Playgroud)
在这里,字符串文字"some_long_complicated_name"立即传递给strcmp。这是否意味着每次都isFoo被调用,因此在该堆栈帧上分配了该字符串文字的许多字节?如果是这样,不是吗:
const char FOO_NAME[] = "some_long_complicated_name";
bool isFoo(const char* bar) {
return !strcmp(bar, FOO_NAME);
}
Run Code Online (Sandbox Code Playgroud)
更有效率?
| 归档时间: |
|
| 查看次数: |
117 次 |
| 最近记录: |