Я могу сделать это без проблем:
const char* foo = "This is a bare-string";
Я хочу иметь возможность делать то же самое с массивом:
const int* bar = {1, 2, 3};
Очевидно, что этот код не компилируется, но есть ли какой-нибудь массив, эквивалентный голой строке?
Вы не можете сделать это:
Но вы можете сделать это:
const int bar[] = {1, 2, 3};
Причина в том, что char * в C (или C ++) имеет дополнительную функциональность, помимо работы в качестве указателя на символ, он также работает как «строка C», таким образом добавлен метод инициализации (специально для char *):
const char* foo = "This is bare-string";
Лучший.