Есть некий класс, сlass A_class; у него есть свойство int b; и метод void action(); который содержит некий код.
Так вот, что будет если в нескольких местах кода создать объекты этого класса в количестве двух и более например A_class C; A_class D; будут созданы полные копии объектов?
Исполняемый код метода action() тоже будет хранится дважды? А если память выделять динамически через new? А как будет хранится явный конструктор в таких случаях? Будет ли компилятор пытаться оптимизировать код и удалять копии методов?
Функции не хранятся в объектах. Можете в этом сами убедиться, применив оператор sizeof к разным классам с одинаковыми полями данных и разным количеством функций. Совершенно не важно как будет создан объект: на стеке или в куче через new. Код (тело функции) хранится в одном единственном экземпляре (про inline пока не буду говорить).
Нестатическая функция-член (метод) отличается от обычной свободной функции только лишь тем, что неявно имеет дополнительный параметр, ссылающийся на экземпляр объекта. Т.е. на хранение кода функции это никак не влияет.
Конструктор в этом плане не является каким-то особенным и может быть рассмотрен как обычная функция.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники