Сводка: преобразуйте необработанные указатели в первом блоке кода ниже в интеллектуальные указатели, оставляя остальную часть функциональности как можно более неизменной Я писал код, в котором я ...
Что не так с этой программой? #include <память> #include <векторное> международное основное () {станд.:: вектор <станд.:: unique_ptr <интервал>> vec; интервал x (1); станд.:: unique_ptr <интервал>...
У меня есть простая основа и производный класс, который я хочу, у обоих есть shared_from_this (). Это простое решение: нечто класса: общественность enable_shared_from_this <нечто> {освобождает foo_do_it () {cout&...
Каков наилучший способ передачи shared_ptr производного типа в функцию, которая принимает shared_ptr базового типа? Я обычно передаю shared_ptrs по ссылке, чтобы избежать ненужной копии: ...
Рассмотрите следующий код. использование повышения:: shared_ptr; структура B; структура {~A () {станд.:: суд <<"~A" <<станд.:: endl;} shared_ptr <B> b;}; структура B {~B () {станд.:: суд и...
Как он был записан здесь, QT до сих пор имеет 8 specilized классов интеллектуального указателя. Похоже, что это - все, в чем Вы будете когда-либо нуждаться. Однако для использования любого из этих интеллектуальных указателей класс должен быть...
Как насчет вызова shared_from_this для выделенного стека? объекты ? enable_shared_from_this в списке базовых классов является индикатором для пользователя производного класса для создания его только в куче (и мы должны…
Glib::RefPtr позволяет разыменовывать через '->', но не через '*'. Почему это? Я, конечно, могу: class Foo {}; Glib::RefPtr fooPtr; fooPtr.оператор->(); Документы конкретно...
Я пытаюсь создать небольшую программу, которая использует умный указатель для создания объекта Account, но в моем коде, похоже, есть ошибки Что не так с моим кодом? #include < iostream > #включают ...
Mr. Мы с Лидстремом поспорили :) Г-н Лидстрём утверждает, что конструкция shared_ptr p (new Derived); не требует, чтобы у Base был виртуальный деструктор: Армен Цирунян: «Правда? ...
Недавно я начал портировать большое количество моего существующего кода приложения C++ на C++11, и теперь, когда я перехожу на новый интеллектуальные указатели std ::уникальный _ptr и std ::общий _ptr, у меня есть специфический...
После прочтения этого ответа, похоже, что лучше всего использовать интеллектуальные указатели как можно больше и уменьшить их использование "нормальных" / сырых указателей до минимума. Это правда?
Существует ли класс интеллектуальных указателей C ++ / CLI RAII для содержания собственного указателя в управляемом типе? Просто интересно, прежде чем я пойду, напишу свой собственный шаблон класса значений clr_scoped_ptr. Мне известно о ...
У меня есть приложение на C ++, которое широко использует указатели для поддержки довольно сложных структур данных. Приложение выполняет математическое моделирование огромных наборов данных (что может занять ...
Сравнения, плюсы, минусы и когда использовать? Это ответвление от ветки сборки мусора, где то, что я считал простым ответом, породило множество комментариев о каком-то конкретном умном указателе ...
Manual Unref У меня возникла проблема с назойливым указателем Boost. Это логический оператор преобразования проверяет x.get() != 0. Однако приведенный ниже код дает сбой в отмеченной точке. Почему это так? Я ...
Из-за моей репутации новичка я не могу отвечать на эту тему, в частности принятый ответ: Я никогда не использовал ускорение: : навязчивые интеллектуальные указатели, но если бы вы использовали интеллектуальные указатели shared_ptr, вы ...
Прочитав ответ на этот вопрос, мне интересно узнать разницу между boost :: ptr_container и std :: vector < shared_ptr>. У меня создалось впечатление, что boost :: ptr_container ...
Возможный дубликат: интеллектуальные указатели / безопасное управление памятью для C? У меня есть встроенное приложение, в котором я размещаю объект в динамической памяти и передаю его другим модулям. Я ...
Возможный дубликат :Какой тип указателя и когда использовать? Есть много плюсов в пользу интеллектуальных указателей C++11 :. Они безопаснее, их функциональность и область действия более очевидны и т. д. Являются ли "...
Итак, когда я в последний раз писал на C++, std::auto_ptr был всем доступным в std lib, а boost::shared_ptr был в тренде. Я никогда не рассматривал другие типы умных указателей boost ...
Предположим, у меня есть следующий код на C ++: #include #include struct Some {Some (int _a): a (_a) {} int a; }; int main () {Некоторые некоторые (5); ...
У меня есть фабрика, возвращающая интеллектуальный указатель. Независимо от того, какой умный указатель я использую, я не могу заставить Google Mock имитировать фабричный метод. Мок-объект - это реализация чистого абстрактного ...
Я начал изучать умные указатели C++11 и не вижу никакого полезного применения std ::weak _ptr. Может ли кто-нибудь сказать мне, когда std ::weak _ptr полезен/необходим?
Совсем недавно я переключил язык моего проекта на использование C ++ с C.
С C я использовал malloc и после этого проверяю, успешно ли был malloc, но с C ++ я использую 'new' для выделения памяти, и я бы ...
Я реализую простой умный указатель, который в основном отслеживает количество ссылок на указатель, который он обрабатывает. Я знаю, что могу реализовать семантику перемещения, но я не думаю, что это делает ...
У меня есть существующая переменная, например int a = 3; Как я могу теперь создать boost :: shared_ptr для a? Например: boost :: shared_ptr a_ptr = & a; // это не работает
Я использую reset () как значение по умолчанию для моего shared_pointer (эквивалент NULL). Но как мне проверить, равен ли shared_pointer NULL? Вернет ли это правильное значение? boost :: shared_ptr ...