Для общего пути, чтобы найти размер элементов в векторе, это действует:Является ли `sizeof (some_vector [0])` valid?
std::vector<float> some_vector;
int size = sizeof(some_vector[0]);
Или это могло привести к проблемам, так как some_vector [0] может быть пустым?
Я предполагаю, что это оценивалось во время компиляции в любом случае, но соответствует ли это стандарту?
Это прекрасно, так что 'sizeof (* static_cast (0))'; –
Nawaz
Имейте в виду, что то, что возвращается 'v [0]', может быть не того же типа, что и 'T' в' std :: vector v; '. Например, рассмотрите тип прокси, возвращаемый 'vector '. –
BoBTFish