unique-ptr- все статьи тега ➜ страница 0
Перебор контейнера уникальных ptr-файлов
Как получить доступ к элементам unique_ptr контейнера (через итератор), не забирая права собственности у контейнера? Когда вы получаете итератор к элементу в контейнере, является ли владение элементом все еще с контейнером? Как насчет разыменования итератора для получения доступа к unique_ptr? Выполняет ли это неявное перемещение unique_ptr? Я обнаружил, что часто использую shared_ptr, когда мне нужно хранить элементы в контейнере (не по значению), даже если container концептуально владеет элем ...
Как создать новое значение и назначить частному уникальному ptr в конструкторе класса?
Как создать новый и присвоить значение частному unique_ptr в конструкторе класса? Tyvm:^) Keith Мои лучшие усилия: #include <iostream> #include <memory> class A { public: A() {}; A(int); void print(); private: std::unique_ptr<int> int_ptr_; }; A::A(int a) { int_ptr_ = new int(a); } void A::print() { std::cout << *int_ptr_ << std::endl; } int main() { A a(10); a.print(); std::cout << std::endl; } Результат компилятора: ...
Как передать уникальный аргумент ptr конструктору или функции?
Я новичок в перемещении семантики в C++11, и я не очень хорошо знаю, как обрабатывать unique_ptr параметры в конструкторах или функции. Рассмотрим этот класс, ссылающийся на себя: #include <memory> class Base { public: typedef unique_ptr<Base> UPtr; Base(){} Base(Base::UPtr n):next(std::move(n)){} virtual ~Base(){} void setNext(Base::UPtr n) { next = std::move(n); } protected : Base::UPtr next; }; это, как я должен написать функции ...