ООП для школьников. - страница 14

 
Alexey Viktorov:

Ещё один вопрос: В чём разница между объявлением переменной, получения\создания указателя, созданием экземпляра объекта. Точней не сама разница, а в каких случаях что лучше применять. Например для открытия позиции достаточно объявить переменную

А в каких случаях правильней использовать указатель, в каких случаях без экземпляра объекта не обойтись.

Какие плюсы и минусы имеют тот или иной способ?

Так залезь в кишки этого класса, он же доступен в сырцах. Там ничего важного не создается, просто набор методов.

 
Alexey Viktorov:

Так именно для понимания что выбрать и задавался вопрос. А не для состязания знахарей.

Я не трезв сейчас, даже очень, но попробую. Если тебе в первую жилу надежность, то, по возможности, следование принципу RAII - твое все(объявил объект, при выходе из зоны видимости компилятор сам его "пришибет"). Если тебе эффективность кода - то тут все уже в сторону указателей смотрит. Так что, тут уже сам в каждом таске думай, нет универсального решения.
 
Alexey Viktorov:

Так именно для понимания что выбрать и задавался вопрос. А не для состязания знахарей.

Как я это понимаю.
Если объект создавать на стек, то только для тех объектов которые живут не долго и нужна скорость создания объекта, к примеру класс по работе с заявками. 
Объекты на кучу, создавать для долгожителей не требующие сверх скоростей, или которые важны для исключения их потери.
А бывает так, к примеру в VS, что компилятор не даёт выбрать стек, и предлагает только кучу, то есть подсказывает что для этого объекта лучше.

 
Roman:

Как я это понимаю.
Если объект создавать на стек, то только для тех объектов которые живут не долго и нужна скорость создания объекта, к примеру класс по работе с заявками. 
Объекты на кучу, создавать для долгожителей не требующие сверх скоростей, или которые важны для исключения их потери.
А бывает так, к примеру в VS, что компилятор не даёт выбрать стек, и предлагает только кучу, то есть подсказывает что для этого объекта лучше.

Да нет. Каюсь, тоже когда-то заблуждался. Когда на стеке создается объект, то он, все равно аллоцируется в куче, на стеке создается только указатель. Просто, при объявлении CObg obj, при выходое obj из зоны видимости будет гарантированно вызван его деструктор.
 
Vladimir Simakov:
Да нет. Каюсь, тоже когда-то заблуждался. Когда на стеке создается объект, то он, все равно аллоцируется в куче, на стеке создается только указатель. Просто, при объявлении CObg obj, при выходое obj из зоны видимости будет гарантированно вызван его деструктор.

Может он и аллоцируется в кучу, не знаю ))
Но многие утверждают, что на стек объект создаётся быстрее.
Видимо все заблуждаются по этому поводу, не знаю ))

 
Roman:

Может он и аллоцируется в кучу, не знаю ))
Но многие утверждают, что на стек объект создаётся быстрее.
Видимо все заблуждаются по этому поводу, не знаю ))

А что мешает, если есть сомнения, взять и проверить? Почему нужно продолжать выеживаться, если это уже было проверено и доказано?

 
Dmitry Fedoseev:

А что мешает, если есть сомнения, взять и проверить? Почему нужно продолжать выеживаться, если это уже было проверено и доказано?

У меня нет сомнений )) Но и проверить, как то не доходило дело до этого.
Вы же как раз и писали об этом ранее, по этому если это уже было проверено и доказано, можно и довериться вам как старожиле кодинга )) 
Мне не особо важна эта разница, стек, куча, но иногда имею ввиду.

 

Парни, я, конечно, ретроград, но: есть стек (когда первое запомненное значение извлекается последним) и очередь (когда кто первый встал, того и тапки). 

Кто такая куча? 

 
Alexey Viktorov:

Так именно для понимания что выбрать и задавался вопрос. А не для состязания знахарей.

Да, забыл добавить, что если создаётся несколько объектов на куче, рекомендуют удалять их в обратной последовательности их создания.

 
Roman:

Да, забыл добавить, что если создаётся несколько объектов на куче, рекомендуют удалять их в обратной последовательности их создания.

Значит, куча - стек. 

Причина обращения: