我在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;
}
答案 0 :(得分:5)
您正在传递一个字符串。此
"Foo" "Bar"
完全等同于
"FooBar"
所以你的电话和
一样log_person("jim123456789");
这是标准的C ++,所以&#34;安全&#34;在任何符合要求的实施。请参阅C ++ 11标准中的 2.14.5 / 13 :
2.14.5字符串文字
...
13 在翻译阶段6(2.2)中,相邻的字符串文字被连接起来....