Является ли это плохой практикой, назначая vector::size() для ссылки auto const?

#c #vector #size

Вопрос:

 int main(int argc, char **argv)
{
    std::vector<int> vec;
    vec.push_back(1);
    vec.push_back(12);
    const autoamp; cnt = vec.size();
    cout<<cnt<<endl;
}
 

Мой наставник говорит const autoamp; , что это плохой стиль, не могли бы вы сказать мне, почему?

Комментарии:

1. const autoamp; на тривиальных типах часто может быть формой преждевременной оптимизации, когда на самом деле требуется немного больше усилий для создания ссылочного псевдонима, чем для копирования базового тривиального типа. Особенно const autoamp; там, где правая часть задания-это значение r, которое все равно исчезает-на что оно ссылается ? Ничего, это функционально просто auto cnt = vec.size(); , но запутано.

2. Бывают случаи, когда привязка временного значения к ссылке безопасна. Я избегаю их, потому что не в состоянии их запомнить.