Почему при выводе типа для массивов указатель указывается первым, а не над массивом?
int v[1];
auto p1 = v;
auto &p2 = v;
auto *p3 = v;
p1
имеет типint *
(то же самое дляp3
). Особенно в этом тривиальном образце я нахожуp2
( int (&)[1]
) более полезно, поскольку оно наследует семантику массива, например Я могу подать заявкуsizeof
наp2
дать так же, какsizeof
наv
.
Есть ли стандартная цитата по этому поводу?
Почему по умолчанию ссылки - плохая идея? (в данном случае я имею в виду, что в наши дни программист на c ++ почти не заботится о них ...)