Так это и есть указатель - массив же.
и правда, не подумал про это
Ничего особого он не означает, просто const указано дважды, возможно компилятор вякнет варнингом.
клэнг промолчал, хотя я статический анализ не запускал - может там бы и сказал
Массив - это "rvalue", его можно использовать как указатель но нельзя напр ++kPrivateRanges.
вот разве что чтоб оградиться от такого и поставили 2 раза
заметил интересную вещь: сишный компилятор пропускает двойной конст для любого типа, плюсовой - только для указателей.
C
#include <stdio.h>
int main (int argc, char const *argv[])
{
const struct {int a;} const a = {1};
printf("%d\n", a.a);
return 0;
}
Bash
kambala-macbook:~ kambala$ gcc untitled.c
kambala-macbook:~ kambala$ ./a.out
1
kambala-macbook:~ kambala$ g++ untitled.c
untitled.c: In function ‘int main(int, const char**)’:
untitled.c:4: error: duplicate ‘const’
результаты не изменятся если вместо структуры использовать pod-тип
исходный пример g++ тоже не пропускает кстати