Как выглядит объект в памяти? [Дубликат]

Possible Duplicate:
Structure of a C++ Object in Memory Vs a Struct
memory layout c++ objects

Вероятно, это действительно тупой вопрос, но я все равно задам. Мне любопытно, как объект выглядит в памяти. Очевидно, что он должен иметь все свои данные члена в нем. Я предполагаю, что функции для объекта не будут дублироваться в памяти (или, возможно, я ошибаюсь?). Казалось бы, расточительно иметь в памяти 999 объектов с одной и той же функцией, определенной снова и снова. Если в памяти имеется только одна функция для всех 999 объектов, то как каждая функция узнает, чьи данные члена нужно изменить (я специально хочу знать на низком уровне). Есть ли объектный указатель, который отправляется в функцию за кулисами? Возможно, это отличается для каждого компилятора?

Кроме того, как статическое ключевое слово влияет на это? Со статическими данными о членах я бы подумал, что все 999 объектов будут использовать одну и ту же область памяти для своих статических данных о членах. Где это хранится? Я полагаю, что статические функции также будут одним местом в памяти, и им не придется взаимодействовать с объектами, созданными на основе экземпляров, что, я думаю, я понимаю.

Ответы на вопрос(5)

Ваш ответ на вопрос