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

Как удалить себя из массива vector? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Стек содержащий только положительные числа http://www.cyberforum.ru/cpp-beginners/thread393456.html
Итак, я имею стек вот код: // stack a.cpp : main project file. #include "stdafx.h" #include <cstdlib> #include <iostream> using namespace std;
C++ Пересечение строк матриц Доброго времени суток :) Нужна помощь в составлении кусочка кода, который реализует пересечение строк матриц... Например дано два массива n и m и надо получить третий массив g с общими строками массивов n и m Сидел извращался с вложенными циклами, но ничего хорошего не вышло, поэтому и требуется помощь :( http://www.cyberforum.ru/cpp-beginners/thread393454.html
Конструктор копирования(быстрый вопрос) C++
Вроде бы все просто и логично, но в итоге выполнения B не копируется в A :C why? #include <iostream> using namespace std; class Int { int a; public: Int() {a = 0;} Int(int A) {a = A;}
Неправильная работа с файлами C++
#include <iostream.h> #include <fstream.h> #include <windows.h> #include <string> struct student { char name; char address; int old; //int marks;
C++ Графика с (задача) http://www.cyberforum.ru/cpp-beginners/thread393442.html
Медленное печатание. Заданный текст печатать крупными буквами с некоторыми паузами между буквами, сопровождая каждую букву звуковым щелчком. Перенос осуществлять только целыми словами. Помогите с исходником.
C++ Шаблонная функция Учу c++, в книге приводится вот такой листинг примера работы шаблонной функции, однако он не компилится, выдает ошибку error C2668: swap: неоднозначный вызов перегруженной функции вот сам листинг #include <iostream> #include <conio.h> using namespace std; template<typename T> void swap(T &a,T &b); int main() подробнее

Показать сообщение отдельно
Xtir
11 / 11 / 0
Регистрация: 10.07.2010
Сообщений: 130
04.12.2011, 19:23  [ТС]     Как удалить себя из массива vector?
Цитата Сообщение от Bers Посмотреть сообщение
2. Либо, нужно перегрузить оператор==
мне кажется это одно и то же, разницы почему-то не заметил, но заметил такую фигню....
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
class CTest
{
public:
    vector <CTest>* v;
    int i;
    void Remove()
    {
        vector <CTest>::iterator it;
        it = find(v->begin(), v->end(), *this);
        v->erase(this);
    }
 
    int operator==(const CTest& t)
    {
        return (v == t.v);
    }
};
 
vector <CTest> v;
 
void main()
{
    CTest* pTest = new CTest;
    int x = 7;
 
    cout << "v = ";
    for(int i = 0; i < 10; ++i)
    {
        CTest t;
        t.i = i;
        t.v = &v;
        v.push_back(t);
        cout << v[i].i << " ";
    }
    cout << endl;
 
    pTest = &v[x];
    cout << "pTest->i = " << pTest->i << endl; //pTest->i = 7
    cout << "pTest->Remove();" << endl;
    pTest->Remove(); //удаляем pTest из массива
    cout << "pTest->i = " << pTest->i << endl; //pTest->i = 8
}
до удаления из массива pTest->i = 7, а после, уже равно 8, как так?
Цитата Сообщение от fasked Посмотреть сообщение
Xtir, я не думаю, что пассажир должен удалять сам себя. Это как-то нелогично.
ну например для того что бы пересадить этого пассажира на другой "автобус"
 
Текущее время: 06:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru