ли действует?
Да, действительно
Что именно происходит?
A();
Создает временный безымянный объект типа A
по называя его по умолчанию нет аргументов конструктора, но объект разрушается от времени, следующий оператор выполняется так.
Если да, то как это создавалось, поскольку я не использовал новый или какой-либо объект?
Вы можете создавать объекты на локальном/автоматическом хранилище или на динамическом хранилище в зависимости от вашего использования.
При создании объекта new
объекты создаются при динамическом хранении (куче) при создании объекта по мере его создания в локальном/автоматическом хранилище (стеке).
Таким образом, использование new
определяет только где объект будет создан не ли он будет создан.
Что такое временные Безымянные объекты?
Вам не обязательно указывать объект для их создания.
Для Ex:
Во время вызова функции, когда вы передаете объекты по значению временно безымянный объекты создаются и уничтожаются автоматически все time.These объекты, которые не имеют никакого имени и, следовательно, не может быть явно упоминаются в рамках программы, но они служат цели, ради которой они были созданы.
Простыми словами,
Вы создаете неназванный временный объект в локальном/автоматическом хранилище, который не существует, как только инструкция завершает выполнение.
Как вы думаете, 'A();' делает, если это не создает что-то? – Mat
@Mat Да, без ** нового **, это мое сомнение – Dewsworld