Сравнение vector<shared_ptr>
От: Alexander Pazdnikov  
Дата: 29.12.11 10:45
Оценка:
Здравствуйте, Коллеги.

Помогите, пожалуйста, перегрузить оператор сравнения для std::vector<boost::shared_ptr> чтобы сравнивались не указатели, а объекты по этим указателям.

#include <vector>
#include <boost/shared_ptr.hpp>
#include <boost/make_shared.hpp>
#include <iostream>

using namespace std;
using namespace boost;

int main()
{
    vector<shared_ptr<int> > v1, v2;

    v1.push_back(make_shared<int>(1));
    v2.push_back(make_shared<int>(1));

    bool equal = v1 == v2; // здесь хочу получить true вместо false

    cout << equal << endl;
    
    cout << "v1[0] = " << v1[0] << " -> " << *v1[0] << endl;
    cout << "v2[0] = " << v2[0] << " -> " << *v2[0] << endl;

    vector<int> v3, v4;

    v3.push_back(1);
    v4.push_back(1);
    
    equal = v3 == v4;

    cout << equal << endl;
    
    cout << "v3[0] = " << v3[0] << endl;
    cout << "v4[0] = " << v4[0] << endl;

    return 0;
}
vector shared_ptr equal сранение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.