2014-11-07 3 views

ответ

5

Первое должно было быть что-то вроде

vector<vector<T>> 

В противном случае он не будет работать. back() возвращает элемент в конце vector. Когда вы говорите

myVector.back().push_back(); 

было бы получить доступ к последним vector<T>, то вызов push_back() на этой внутренней vector

Если это так, что myVector является vector<vector<T>>, то

myVector.push_back(); 

будет отбрасывание пустого vector<T>, тогда как

myVector.back().push_back(); 

будет отбрасывать по умолчанию T на последние vector<T> в myVector.

+0

В моем случае myVector - это вектор, содержащий класс –

+2

В этом случае 'back()' возвращает экземпляр вашего класса, который был последним элементом в 'vector'. Поэтому, если ваш класс не имеет метода 'push_back()', тогда первая версия не будет компилироваться. – CoryKramer

+0

Итак, если я правильно понял, назад() указывает последний элемент в векторе, а затем push_back() добавляет что-то в конец этого элемента. –

Смежные вопросы