Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2010, 12:04   #1
Tramadolly
 
Регистрация: 16.04.2010
Сообщений: 3
Вопрос vector iterator not dereferencable

Выскакивает ассерт в этом куске кода:

Код:
std::vector<cl::Platform>::iterator iter;
for(iter = platforms.begin(); iter != platforms.end(); ++iter)
{
      if((*iter).getInfo<CL_PLATFORM_VENDOR>() == "Advanced Micro Devices, Inc.")
            break;
}
Что не так? Просто никаких идей.
Tramadolly вне форума Ответить с цитированием
Старый 16.04.2010, 13:41   #2
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию

Можно вопросик, как раз по теме.
Для чего нужны эти векторы, где и когда их используют ?
coNsept вне форума Ответить с цитированием
Старый 17.04.2010, 23:38   #3
m9yt
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 108
По умолчанию

Цитата:
Сообщение от coNsept Посмотреть сообщение
Можно вопросик, как раз по теме.
Для чего нужны эти векторы, где и когда их используют ?
Погуглить так сложно? Или книги почитать например.На форуме много ссылок на них.
m9yt вне форума Ответить с цитированием
Старый 18.04.2010, 17:55   #4
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию

Я не знаю для чего они нужны, но думаю пока нет нужды их изучать, поэтому и хотел узнать о них в 2-ух словах
coNsept вне форума Ответить с цитированием
Старый 19.04.2010, 14:39   #5
Tramadolly
 
Регистрация: 16.04.2010
Сообщений: 3
По умолчанию

Вектор нужен при динамическом программировании. Если точно не знаешь количество элементов в массиве, удобно использовать вектор, чтобы выделять память при необходимости добавления нового элемента.
Tramadolly вне форума Ответить с цитированием
Старый 19.04.2010, 15:15   #6
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Цитата:
Вектор нужен при динамическом программировании. Если точно не знаешь количество элементов в массиве, удобно использовать вектор, чтобы выделять память при необходимости добавления нового элемента.
Не стоит, однако, при этом забывать, что увеличение размера вектора - довольно дорогая операция, поэтому если приходится очень часто добавлять/удалять элементы, то для этих целей может лучше подойти список или очередь.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 21.04.2010, 07:40   #7
Tramadolly
 
Регистрация: 16.04.2010
Сообщений: 3
По умолчанию

А по основному вопросу темы есть у кого-нибудь соображения? Буду очень благодарен!
Tramadolly вне форума Ответить с цитированием
Старый 21.04.2010, 08:25   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Навскидку:
Код:
std::vector<cl::Platform>::iterator iter;
for(iter = platforms.begin(); iter != platforms.end(); ++iter)
{
     cl::Platform с=*iter;
      if(c.getInfo<CL_PLATFORM_VENDOR>() == "Advanced Micro Devices, Inc.")
            break;
}
т.е. смысл не работать с элементом вектора, а изьять из него в определенную переменную и уже работать с ней.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
класс Vector fclmhooligan Общие вопросы по Java, Java SE, Kotlin 3 05.04.2011 02:40
vector NiCola999 Помощь студентам 5 26.02.2010 08:37
std::vector ciaonataha Общие вопросы C/C++ 1 10.05.2009 15:50
vector<T>::iterator begin - почему не компилируется? AndyBr Общие вопросы C/C++ 5 12.03.2009 19:56
Вопрос по <vector> kezman Общие вопросы C/C++ 1 13.08.2008 21:48