LINUX.ORG.RU

Чо? Причем тут указатели и что ты хочешь?

Pavval ★★★★★
()
Ответ на: комментарий от kabanchik

в динамике и через смарт пойнтеры

ок, а зачем?

как правильно

как хочешь. btw, почему не использовать std:: смартпоинтеры?

Stil ★★★★★
()

другой способ вестимо не использовать.

а вообще не понятно что ты хочешь

iddqd
()
Ответ на: комментарий от kabanchik

например, агрегируй в своем классе какой-нибудь std::unique_ptr, а в конструкторе создай его

#include <vector>
#include <memory>

template <typename T>
class TestClass {
public:
    TestClass()
	: m_pvector(new std::vector<T>())
    {
	m_pvector->push_back(1);
	m_pvector->push_back(3);
	m_pvector->push_back(5);	
    }    

    ~TestClass() {};
    
private:
    std::unique_ptr<std::vector<T>> m_pvector;
};
uber_cat
()

Зачем умные указатели? Просто добавляй контейнер в класс, он и так очиститься когда отработает деструктор инкапсулирующего его класса.

NegatiV
()

И кстати, поля контейнера будут размещены там же где и класс его включающий. Элементы контейнеров создаются на куче.

NegatiV
()

Как правильно использовать stl контейнеры внутри класса( т.е. члены класса )

Использовать как члены класса.

legolegs ★★★★★
()
Ответ на: комментарий от plusPlus

он и так очиститься когда отработает деструктор инкапсулирующего его класса.

неправда!

чоэта?

anonymous
()
Ответ на: комментарий от anonymous

Из книг, которые переводили гуглтранслейтером? Или ещё лучше промптом? В тех книгах, которые читал я, всегда писали в стеке и в куче.

nanoolinux ★★★★
()
Ответ на: комментарий от nanoolinux

Про стек:

Bjarne Stroustrup

The exception- handling mechanism keeps a bit of memory to itself for holding exceptions (possibly on the stack).

Bjarne Stroustrup

It can be allocated on the stack without any indirect use of dynamic memory

Bjarne Stroustrup

For example, a concrete node class can be used to implement an abstract class (§12.4.2) and variables of such a class can be allocated statically and on the stack.

Про кучу:

Bjarne Stroustrup

The operator new creates such objects, and the operator delete can be used to destroy them. Objects allocated by new are said to be ‘‘on the free store’’ (also, to be ‘‘heap objects,’’ or ‘‘allocated in dynamic memory’’)

Bjarne Stroustrup

Local variables (sometimes called automatic objects) and objects created on the free store (some- times called dynamic objects or heap objects) are not initialized by default.

Продолжать? Или «on» переводится как «в» на русский язык?

anonymous
()
Ответ на: комментарий от nanoolinux

В англоязычной литературе говорят «on the stack/heap», так что использование «в/на» остается на совести переводчика.

NegatiV
()
Последнее исправление: NegatiV (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.