Описание тега scoped-ptr
A smart pointer provided by Boost that owns a dynamically-allocated pointer and cannot be copied or moved, retaining ownership of the pointer in its scope.
1
ответ
Повышение объема Ptr - декларация против распределения
Приведенный ниже код работает нормально: scoped_ptr<clsA> pclObjA(new clsA()); Но нижеприведенные заявления не работают: scoped_ptr<clsA> pclObjA; // some statements pclObjA(new clsA()); Я получаю ошибку компиляции, как показано ниже: er…
30 июл '13 в 04:36
4
ответа
Почему указатели в надстройке
Какова цель указателя в области видимости? насколько я понимаю, указатель с областью действия управляет памятью в блоке кода. Если я хочу объявить переменную внутри блока, я могу просто объявить ее в стеке и не беспокоиться об очистке.
24 май '12 в 00:02
3
ответа
Почему boost не имеет make_scoped()?
Повышение-х make_shared() функция обещает быть исключительной безопасностью при попытке создать shared_ptr, Почему нет make_scoped() эквивалент? Есть ли распространенная лучшая практика? Вот пример кода из boost::scoped_ptr документация, которая мне…
05 июл '12 в 02:46
1
ответ
Любое преимущество использования shared_ptr перед scoped_ptr на верхнем уровне?
В моей команде есть некоторые разногласия по поводу использования контейнера указателя для определенного контекста. Пожалуйста примите к сведению: int main() { // Top level. This is an important fact to the context // i.e. that the following instanc…
30 июл '13 в 16:14
2
ответа
boost::scoped_ptr и STL в C++
Я читаю о интеллектуальных указателях boost, и я не могу понять одну вещь: почему boost::scoped_ptr нельзя использовать с контейнерами STL? Я читал, что это не для копирования, но что именно это означает и зачем это нужно STL?
26 май '13 в 07:45
3
ответа
Какой неразделенный Smart Pointer для переменных членов класса
Когда у меня есть класс, который содержит указатели в качестве переменных-членов, какой тип умного указателя они должны иметь, если я не хочу использовать простые указатели? Они не должны быть разделены (поэтому не требуется shared_ptr). scoped_ptr …
13 окт '10 в 21:04
1
ответ
_BLOCK_TYPE_IS_VALID ошибка при повышении::scoped_array
После огромного количества копаний и поисков я нашел корень моей проблемы. По сути, этот код выполняется и в своем собственном проекте вызывает ту же ошибку. Я вижу, что не могу сбросить смарт-указатель на новую строку... но почему? И есть ли просто…
22 апр '12 в 01:46
3
ответа
Это хорошая практика, чтобы передать scoped_ptr по ссылке (от одного метода к другому внутри класса)?
Или, если мне нужно сделать это, то я должен просто использовать shared_ptr?
21 мар '10 в 19:19
1
ответ
Как я могу получить адрес scoped_ptr?
Я изучаю умные указатели, в частности, scoped_ptr, Я читал про операторов * а также ->, Я пытался запустить этот код: int main(){ boost::scoped_ptr<int>number(new int); *number = 432; std::cout<<"Value: "<<*number <<std::e…
28 май '16 в 16:44
1
ответ
scoped_ptr для двойных указателей
Есть ли на полпути элегантный способ обновления до следующего кода, отсекаемого с помощью boost scoped_ptr или scoped_array? MyClass** dataPtr = NULL; dataPtr = new MyClass*[num]; memset(dataPtr, 0, sizeof(MyClass*)); allocateData(dataPtr); // alloc…
16 июл '14 в 11:31
3
ответа
shared_ptr с malloc и бесплатно
У меня есть работа в большом приложении, которое содержит c и cpp. Все файлы сохраняются с расширением cpp, но код написан в c-стиле. Я имею в виду, что она определяет структуру, а не класс выделяет память через malloc, realloc и calloc.В последнее …
04 сен '12 в 13:36
1
ответ
C++ Boost library - передача общего указателя на функцию
Предполагая, что общий указатель может быть создан следующим образом typedef boost::shared_ptr<Employee_t> srdpointer; srdpointer ptr((Employee_t*)malloc(sizeof(Employee_t)),std::ptr_fun(free)); Мне нужно передать общий указатель, который буде…
05 сен '12 в 13:46
1
ответ
Существует ли область видимости ptr со встроенной функцией глубокого копирования?
Насколько я понимаю, если у меня есть класс, который имеет переменную члена boost::scoped_ptr, и если бы я должен был скопировать экземпляр этого класса и хотел бы, чтобы новый экземпляр имел свой член scoped_ptr, указывающий на копию того, что перв…
27 июл '16 в 05:56
5
ответов
Некоторые вопросы о shared_ptr, scoped_ptr и shared_array
У меня есть несколько вопросов о интеллектуальных указателях, реализованных в библиотеке надстроек. Является ли единственная разница между shared_ptr и scoped_ptr в том, что scoped_ptr не имеет конструктора копирования, а shared_ptr имеет его? Долже…
02 апр '12 в 21:16
2
ответа
C++: Можно ли инициализировать boost::scoped_ptr внутри конструктора?
Может ли член класса типа boost::scoped_ptr быть инициализированным внутри конструктора класса? Как?(Нет в списке инициализации)
14 янв '11 в 14:55
1
ответ
Когда тип считается завершенным?
Рассмотрим следующий фрагмент кода. Деструктор boost::scoped_ptr вызывается в конце основной функции. Деструктор использует boost::checked_delete для освобождения инкапсулированного указателя виджета. #include <boost/scoped_ptr.hpp> #include &…
19 июл '14 в 13:47
4
ответа
Слабая ссылка на scoped_ptr?
Обычно я следую руководству по стилю Google, которое, как мне кажется, хорошо согласуется с тем, как я вижу вещи. Я также почти исключительно использую boost::scoped_ptr, чтобы только один менеджер владел определенным объектом. Затем я передаю голые…
28 июл '11 в 07:32
1
ответ
Почему boost::scoped_ptr или std::unique_ptr не копируются?
В boost::scoped_ptr говорится: "Он предоставляет базовую возможность" получения ресурсов - инициализация ", без семантики совместного владения или передачи собственности". Это делается через какой-то не копируемый механизм. Мой вопрос: почему сущест…
03 окт '13 в 21:05
0
ответов
scoped_ptr для вызова функции-члена выдает ошибку
В настоящее время я читаю Accelerated C++ ch13 и подумал о создании примера программы, приведенной в книге через boost scoped_ptr, но обнаружил ошибку. Ребята, пожалуйста, выручите меня. ** ***error: cannot use arrow operator on a type record->re…
05 апр '15 в 02:21
3
ответа
Указатели и сброс настроек
Я играю с указателями в области наддува и не понимаю этого поведения: #include <iostream> #include <boost/scoped_ptr.hpp> int main() { boost::scoped_ptr<int> p{new int{1}}; std::cout << &p << '\n'; p.reset(new int {…
29 ноя '18 в 15:48