Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Создание переменной / 5 сообщений из 5, страница 1 из 1
22.02.2015, 06:30
    #38885851
Герой дня
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание переменной
Вот пример:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
struct structA {}; 

int main()
{
	structA a = structA();

	.......
}



объясните, пож-та, в строке structA a = structA(); мы вызываем конструктор класса (структуры) и память для этого объекта выделяется в стеке, верно ?
...
Рейтинг: 0 / 0
22.02.2015, 14:57
    #38885965
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание переменной
Герой дня,

Да. Это объявление локальной переменной в стеке.
И нет, мы не вызываем конструктор. Мы инициализируем переменную конструктором по умолчанию.
Хотя технически в данном случае конечно вызывается конструктор.
Но случаи бывают разные.
structA(xxx) - это не всегда вызов конструктора structA.
...
Рейтинг: 0 / 0
22.02.2015, 16:02
    #38886006
Герой дня
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание переменной
Anatoly Moskovsky,

спасибо
...
Рейтинг: 0 / 0
24.02.2015, 01:55
    #38886701
SashaMercury
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание переменной
Такой синтаксис возможен только в С++ ?
...
Рейтинг: 0 / 0
24.02.2015, 02:06
    #38886706
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание переменной
SashaMercuryТакой синтаксис возможен только в С++ ?
Да
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Создание переменной / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]