В this answer, следующий код дается (C++ 11):Что означает (&) - амперсанд в круглых скобках - означает в этом коде?
template <typename T, size_t N>
constexpr size_t size_of(T (&)[N]) {
return N;
}
Что означает (&)
означает в этом контексте? Такие вещи чрезвычайно трудно найти.
Спасибо! У этого шаблона есть имя? – Phonon
@Phonon Не то, что я знаю. – Barry
@Phonon: Это стандартный синтаксис, который существует, поскольку древний C. C не имеет ссылок, но типы указателей массива были описаны как 'T (*) [N]' с начала времен. Замена '*' '' 'кроме того. – AnT