从其他来源获取输入;填充最多2048个字符的字符串。
填充和比较此字符串的最有效方法是什么? - 我希望能够轻松地附加到字符串。
以下是我的三次尝试:
#include <cstdio>
#include <cstring>
int main(void) {
char foo[2048];
foo[0]='a', foo[1]='b', foo[2]='c', foo[3]='\0'; // E.g.: taken from u-input
puts(strcmp(foo, "bar")? "false": "true");
}
#include <iostream>
int main() {
std::string foo;
foo.reserve(2048);
foo += "abc"; // E.g.: taken from user-input
std::cout << std::boolalpha << (foo=="bar");
}
#include <iostream>
int main() {
std::string foo;
foo += "abc"; // E.g.: taken from user-input
std::cout << std::boolalpha << (foo=="bar");
}
答案 0 :(得分:1)
最有效的取决于您的优化目标 一些共同的标准:
毫无疑问的1和2的国王,在你的例子中可能也是3,是C风格
对于4和5,C ++风格1.
第6点可能是C ++风格。
仍然需要强调这些目标的适当组合,这对于C ++选项0来说是非常有用的。