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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.07.2014, 18:12   #1
cheef
Форумчанин
 
Регистрация: 16.03.2009
Сообщений: 205
По умолчанию shared_ptr и vector

Раньше работал с shared_ptr, но никогда в него не засовывал stl компоненты.
Код:
class hell {
public:
    std::shared_ptr<vector<int>> foo;
    int size;
    hell() {
        size = 5;
        std::cout << "Create Hell";
        std::shared_ptr<vector<int>> foo (new vector<int>);
        for(int i = 0; i < size; i++) {
            foo->push_back(rand() % 100);
        }
    }
    void printf() {
        std::vector<int>::iterator i;
        for(i = foo->begin(); i < foo->end(); ++i) {
               cout << (*i) << " ";
        }
    }

    ~hell() {
        std::cout << "Destroy Hell";
    }
};

int main(int argc, char *argv[]) {
    QCoreApplication a(argc, argv);
    std::shared_ptr<hell> one(new hell);
    one->printf();

    return a.exec();
}
Просто пример, почему в ф-ции printf в момент вызова begin ошибка с памятью?
cheef вне форума Ответить с цитированием
Старый 26.07.2014, 18:30   #2
cheef
Форумчанин
 
Регистрация: 16.03.2009
Сообщений: 205
По умолчанию

Ой, прошу прощения
std::shared_ptr<vector<int>> foo (new vector<int>);
Случайно написал в конструкторе.

Тогда вопрос, какие способы есть shared_ptr использовать в программе после объявления, я знаю уже:
foo.reset(new vector<int>);
foo= std::make_shared<vector<int>>();
cheef вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
vector c++ Alendorff Помощь студентам 3 14.04.2013 14:52
C++ Boost - vector<path> to vector<string> frommars Общие вопросы C/C++ 0 04.02.2013 21:19
<vector> dcPEOP Общие вопросы C/C++ 2 26.01.2012 11:28
Проблема с инициализацией shared_ptr mikepc Visual C++ 2 25.08.2010 09:36
vector NiCola999 Помощь студентам 5 26.02.2010 08:37