Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Haster
инженер-системотехник
 Аватар для Haster
109 / 108 / 2
Регистрация: 10.03.2009
Сообщений: 533
#1

Когда создается конструктор по умолчанию? - C++

09.11.2011, 13:22. Просмотров 746. Ответов 4
Метки нет (Все метки)

Здравствуйте, товарищи!

Прочитал тут книгу "Ассемблер и дизасеммблирование" Пирогова и открыл для себя такую вещь, что
конструктор по умолчанию создается только для классов, содержащих виртуальные функции
(он нужен для инициализации таблицы виртуальных функций).

А во всех учебниках по С++ говорится, что конструктор по умолчанию создается всегда... Даже для классов без вирт. функций.

Кто что знает по этому вопросу?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2011, 13:22     Когда создается конструктор по умолчанию?
Посмотрите здесь:

C++ Конструктор копий по умолчанию.
C++ Конструктор с параметром по умолчанию
C++ Конструктор по умолчанию
C++ Конструктор по умолчанию
C++ Конструктор по умолчанию
C++ Конструктор по умолчанию
Конструктор по умолчанию C++
C++ Конструктор по умолчанию
Конструктор по умолчанию C++
C++ Конструктор по умолчанию
Перемещающий конструктор по умолчанию C++
C++ Конструктор с параметрами по умолчанию

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryLaptev
Эксперт С++
1017 / 796 / 48
Регистрация: 30.04.2011
Сообщений: 1,617
09.11.2011, 13:23     Когда создается конструктор по умолчанию? #2
Он формально создается, но фактически это же пустая функция, которая просто ничего не делает... Поэтому он фактически не создается...
Haster
инженер-системотехник
 Аватар для Haster
109 / 108 / 2
Регистрация: 10.03.2009
Сообщений: 533
09.11.2011, 13:39  [ТС]     Когда создается конструктор по умолчанию? #3
ValeryLaptev, т.е. считается, что создается всегда, а на деле уже как компилятор извратится?
ValeryLaptev
Эксперт С++
1017 / 796 / 48
Регистрация: 30.04.2011
Сообщений: 1,617
09.11.2011, 21:16     Когда создается конструктор по умолчанию? #4
Haster, да, конечно.
Сыроежка
Заблокирован
09.11.2011, 21:42     Когда создается конструктор по умолчанию? #5
Цитата Сообщение от Haster Посмотреть сообщение
Здравствуйте, товарищи!

Прочитал тут книгу "Ассемблер и дизасеммблирование" Пирогова и открыл для себя такую вещь, что
конструктор по умолчанию создается только для классов, содержащих виртуальные функции
(он нужен для инициализации таблицы виртуальных функций).

А во всех учебниках по С++ говорится, что конструктор по умолчанию создается всегда... Даже для классов без вирт. функций.

Кто что знает по этому вопросу?
Конструктор по умолчанию неявно объявляется компилятором всегда, если не задан пользователем. Конструктор по умолчанию определяется неявно компилятором тогда, когда он используется.
Yandex
Объявления
09.11.2011, 21:42     Когда создается конструктор по умолчанию?
Ответ Создать тему
Опции темы

Текущее время: 00:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru