Форум программистов, компьютерный форум CyberForum.ru

Как ведет себя вектор при добавлении новых элементов пушбеком? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Классы-посредники http://www.cyberforum.ru/cpp-beginners/thread390384.html
Читая Дейтла, дошел до теемы классы-посредники, назначение которых скрыть не только реализацию, но и интерфейс класса (в том смысле, как я понял, чтобы пользователь класса просто не видел физически заголовочный файл класса). Так ли уж ценна эта идея, искусственно накручивания скрытия всего и вся?
C++ В функция с переменным числом параметров. В функцию с переменным числом параметров поступают слова, конец списка - указатель NULL. Найти и вывести все слова, которые читаются одинаково сначала в конец и с конца в начало. с чего начать? http://www.cyberforum.ru/cpp-beginners/thread390371.html
C++ Подскажите с записью на С++
задача: "Старшую тетраду каждого байта числа заменить результатом операции «стрелка Пирса» старшей и младшей тетрад, а младшую тетраду – результатом операции «штрих Шеффера» старшей и младшей тетрад исходного байта" как записать на С++?? стрелку Пирса и штрих Шеффера
C++ Написал прогу по стеку, но при выводе содержимого - выводит только последний добавленный
Вот собственно сам код, подскажите если что не так. Заранее спасибо! #include <iostream> #include <stack> using namespace std; class Node { public:
C++ Расписать каждую строчку . http://www.cyberforum.ru/cpp-beginners/thread390348.html
Распишите каждую строчку.завтра защищать а я не понимаю чо это ) что делае и т.д 1) Использование компилятора c последующим подключением компановщика и созданием исполняемого файла a.exe H:\laba3>bcc32 -I.\include a.cpp b.cpp c.cpp Borland C++ 5.6 for Win32 Copyright (c) 1993, 2002 Borland a.cpp: b.cpp: c.cpp:
C++ поразрядные операции помогите пожалуйста решить следущую задачу: даны два int-числа: N1 = АBCD и N2 = EFGH, где AB…GH – 16-ричные цифры, ПОп – Поразрядная Операция Получить цифру X как результат выражения: X = A And B Xor C, и записать ее в N2: EFXGH. или хотя бы идею как это реализовать. заранее спасибо подробнее

Показать сообщение отдельно
Svinina
 Аватар для Svinina
5 / 5 / 0
Регистрация: 28.11.2010
Сообщений: 81
24.11.2011, 00:28  [ТС]     Как ведет себя вектор при добавлении новых элементов пушбеком?
Кроме того, если между этим циклом и проверкой вашего if в 23 строке используется метод push_back, то итераторы могут стать недействительны, так как вектор может перераспределить память.
Во! То есть при пушбеке значения итераторов могут поменяться (точнее поменяются не значения итераторов, а адреса элементов векторе, на которые они указывали)?

Просто я тестировал подобное на векторе инта:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
int main(int argc, char **argv)
{
    vector<int *> a;
    vector<int *>::iterator it;
    vector<int *>::iterator ei;
    for(int i = 0; i < 9; i++)
    {
        int *t = new int;
        a.push_back(t);
    }
 
    it = a.begin();
    for(int o = 0; it != a.end(); it++, o++)
    {
        if(o == 4) ei = it;
    }
    int *t = new int;
    a.push_back(t);
    it = a.begin();
    advance(it, 4);
    if (it == ei)
    {
        qDebug() << "ololo";
    }
    return 0;
}
И тут иф всегда выполнялся.
 
Текущее время: 18:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru