gpt4 book ai didi

c++ - 为什么我可以像这样传递一个字符串参数?这种风格安全吗?

转载 作者:搜寻专家 更新时间:2023-10-31 00:32:54 24 4
gpt4 key购买 nike

我在 XCode 中将两个字符串作为一个参数传递并使用 C++。我在 XCode 中试过这个并且它有效。但这在所有平台上都安全吗?

#include <iostream>

void log_person(const char* name_and_number){
printf("name and number : %s.\n", name_and_number);
}
int main(int argc, const char * argv[]) {
log_person("jim" "123456789");
return 0;
}

最佳答案

您正在传递单个字符串。这个

"Foo" "Bar"

完全等同于

"FooBar"

所以你的电话是一样的

log_person("jim123456789");

这是标准的 C++,因此在任何符合标准的实现上都是“安全的”。请参阅 C++11 标准中的 2.14.5/13:

2.14.5 String literals

...

13 In translation phase 6 (2.2), adjacent string literals are concatenated....

关于c++ - 为什么我可以像这样传递一个字符串参数?这种风格安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30186249/

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