Приветствую.
Я уже больше пол года ничего не писал на плюсах, очень много нюансов позабыл. А сейчас вот решил вернуться, и при объявлении очередного класса задался вопросом: как лучше объявить члены класса? На стеке или в куче?
C++ (Qt)
class Foo{
public:
Bar member;
// vs
Bar *member;
}
(Bar - класс, а не примитивный тип)Если я не ошибаюсь, время доступа к объектам на стеке меньше, чем время доступа к объектам в куче, но стек не резиновый, и чем больше в нем объектов тем больше вероятность нарваться на stack overflow.
Также, если мне не изменяет память, в случае, когда экземпляр класса размещен в куче - не важно, как объявлены его члены, они все-равно будут размещены в куче.
В общем, кто как объявляет члены класса? по возможности, аргументируйте, пожалуйста свою позицию.
Спасибо.
P.S. Если уже обсуждалось на форуме, плиз, дайте ссылку.