使用另一个字符数组初始化字符

时间:2017-06-15 18:48:14

标签: c++ string

我有char a[] = "abc"

我需要这样做:char b [] = a,即基本上将a复制到b而不必指定b的大小。

我怎样才能在cpp中做到这一点?

1 个答案:

答案 0 :(得分:2)

普通数组没有赋值运算符重载。 你必须使用这样的copy函数:

char a[] = "abc";
decltype(a) b;
std::copy( std::begin(a), std::end(a), std::begin(b) );

使用decltype我们得到数组a的类型并使用它来声明数组b

但在我看来,这仍然不是C ++。

正如评论者建议的那样,只需使用std::string即可。如果您无法使用std::string,请解释原因。

std::string a = "abc";
std::string b = a;

更清洁,更少可能出错的事情。