Я не уверен, как работает следующий код. Я думал, что вам нужно сделать {'h', 'e' ...etc...}
, но, похоже, это работает нормально. С другой стороны, если вы сделаете std::array<const char*
, он добавит только один элемент в массив. Существуют ли специальные правила для инициализации строкового литерала?
std::array<char, strlen("hello world!") + 1> s = {"hello world!"};
for (size_t i = 0; i < s.size(); ++i)
{
std::cout << s[i];
}