Вопросы по теме 'auto-ptr'

Умный указатель С++ для необъектного типа?
Я пытаюсь использовать умные указатели, такие как auto_ptr, shared_ptr. Однако я не знаю, как его использовать в этой ситуации. CvMemStorage *storage = cvCreateMemStorage(); ... use the pointer ... cvReleaseMemStorage(&storage); Я не...
464 просмотров
schedule 27.09.2022

Удаление указателя на неполный тип и умные указатели
При попытке использовать auto_ptr с типом, который был объявлен с предварительным объявлением, например так: class A; ... std::auto_ptr<A> a; деструктор A не вызывается (очевидно, потому что auto_ptr внутренне delete s не может...
6515 просмотров

Почему vector.push_back (auto_ptr) не компилируется?
Я узнал, что STL может запретить программисту помещать auto_ptr в контейнер. Например, следующий код не компилируется: auto_ptr<int> a(new int(10)); vector<auto_ptr<int> > v; v.push_back(a); auto_ptr имеет...
2016 просмотров
schedule 08.08.2023

Смысл использования std::auto_ptr
В чем смысл auto_ptr ? Посмотрите на этот код: #include <iostream> #include <memory> class A { public: ~A() { std::cout << "DEST"; }; }; void func(A* pa) { std::cout << "A pointer"; } void...
4601 просмотров
schedule 02.09.2022

tagpy: auto_ptr в питоне?
Я не профессионал, меня просто расстраивает, что почти ни один линуксовый аудиоплеер не поддерживает тег композитора id3v2, и я хотел бы разобраться, как его добавить. Taglib не поддерживает тег композитора напрямую, но есть обходной путь — создание...
89 просмотров
schedule 07.07.2022

используя (или другой механизм) для замены unique_ptr на auto_ptr в С++ 11?
Я получаю предупреждение о компиляции под Cygwin с помощью -std=c++11 : cryptlib.cpp: In member function ‘virtual size_t PK_Signer::SignMessage(RandomNumberGenerator&, const byte*, size_t, byte*) const’: cryptlib.cpp:770:41: warning:...
372 просмотров
schedule 27.06.2023

без предупреждения: «auto_ptr» устарела только в том случае, если auto_ptr используется только один раз
Я заметил странное поведение. Его можно сузить до следующего примера: #include <memory> int main() { std::auto_ptr<int> p1(new int); #ifdef AUTODEP std::auto_ptr<int> p2(new int); #endif } и компиляция cpptests$...
396 просмотров
schedule 23.02.2022

Почему использование ссылки или уникального указателя класса - это плохо?
В книге Херба Саттера и Андрея Александреску «Стандарты кодирования C ++. 101 правила, рекомендации и передовой опыт» в Правиле 52 заключительная цитата такова: "В редких случаях классы, которые имеют члены странных типов (например, ссылки, std...
464 просмотров