除了显式的字符串文字,我可以使用其他东西来初始化c字符串吗?
struct Person {
char name[40];
};
constexpr char PRESIDENT[] = "George Bush";
Person somebody { "George Bush" }; //Ok
Person president { PRESIDENT }; //the value of type "const char* " cannot be used to initialize an entity of type "char"
当然,我仍然可以使用#define,但这不是最好的主意。
1条答案
按热度按时间pjngdqdw1#
注意
std::array
应该优于内置数组,因为一个std::array
可以直接从另一个相同大小的std::array
初始化。在这种情况下,增加一个构造函数模板还是可以实现的,如下图所示:
Working demo