|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.10.2011, 14:41 | #1 |
C++
Форумчанин
Регистрация: 27.03.2011
Сообщений: 803
|
Вопрос по std::vector
Я помещаю какой-то элемент в вектор с помощью push_back(). Как мне узнать его индекс? Использовать size() каким-то хаком выглядит, получше нет вариантов?
Ищете информацию по C++?
cplusplus.com |
16.10.2011, 15:05 | #2 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Цитата:
Запись может выглядеть так: Vector.at(index). Индексы начинаются с нуля, поэтому размер массива будет 0 - size-1.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
|
16.10.2011, 15:16 | #3 |
Форумчанин
Регистрация: 05.10.2011
Сообщений: 368
|
а больше ничего нет, а зачем нужны другие методы? и зачем нужен индекс? итератор back() чем не устраивает?
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
Последний раз редактировалось haruhi; 16.10.2011 в 15:18. |
16.10.2011, 15:24 | #4 |
C++
Форумчанин
Регистрация: 27.03.2011
Сообщений: 803
|
Smitt&Wesson, вы вопрос читали? Не нужно мне рассказывать, что такое вектор.
haruhi, итератор использовать не получится, поскольку последующий доступ будет осуществляться по индексу. Но раз других вариантов нет, буду использовать size(). Спасибо. Ищете информацию по C++?
cplusplus.com |
16.10.2011, 15:41 | #5 |
C++,DirectX/OpenGL
Форумчанин
Регистрация: 09.01.2011
Сообщений: 422
|
Код:
|
16.10.2011, 16:03 | #6 |
C++
Форумчанин
Регистрация: 27.03.2011
Сообщений: 803
|
An1ka, большое спасибо! Как раз то, что мне надо.
Ищете информацию по C++?
cplusplus.com |
16.10.2011, 16:50 | #7 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
я ваще не понял что за шаманство
vector[size-1] чем не вариант? это абсолютно нормально. ну и ссылку на последний - vector::back() тоже чем не вариант. |
16.10.2011, 16:58 | #8 | |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Цитата:
Вас человек спрашивает , как узнать индекс элемента по его значению, а не как получить размер массива. Например, вы запихали в вектор такие числа : 4 3 6 7 12 34. И теперь как вы с помощью вашего size() определите в run-time индекс элемента 3? Никак. An1ka дал чёткий ответ, как это сделать. |
|
21.10.2011, 02:16 | #9 | |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
при всём уважении
фраза Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ошибка: no match for ‘operator<<’ in ‘std::operator<< [with _Traits = std::char_traits<char> | Critter | Общие вопросы C/C++ | 5 | 08.08.2010 23:38 |
Вопрос про vector и обычный массив | certman | Общие вопросы C/C++ | 2 | 02.04.2010 23:38 |
Вопрос про vector функцию insert | Dimedrolum | Общие вопросы C/C++ | 2 | 18.09.2009 22:51 |
std::vector | ciaonataha | Общие вопросы C/C++ | 1 | 10.05.2009 15:50 |
Вопрос по <vector> | kezman | Общие вопросы C/C++ | 1 | 13.08.2008 21:48 |