Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2017, 19:35   #21
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Спасибо, это уже ближе к тому как я могу понять.

4. Вызовется оператор присваивания для time12 = time12

Подразумевается, что временный объект работающий внутри компилятора запустит перегруженный конструктор для строки t12=t24;?
Т.е. присвоит t12 свойства временного объекта (в том числе конструктора time12(time24) и выполнится функция конструктора?
Так?
KAMLS вне форума Ответить с цитированием
Старый 22.05.2017, 19:42   #22
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Цитата:
Подразумевается, что временный объект работающий внутри компилятора запустит перегруженный конструктор для строки t12=t24;?
Нет никаких временных объектов внутри компилятора. Ничего какой-то временный объект не запустит. Тем более, что вызовется оператор у того объекта, которому идет присваивание.

Цитата:
Сообщение от KAMLS Посмотреть сообщение
Т.е.. присвоит t12 свойства временного объекта (в том числе конструктора time12(time24) и выполнится функция конструктора?
Что вы понимаете под "в том числе конструктора"? Я ж вроде ясно написал:
компилятор увидит
компилятор не найдет
компилятор сгенерирует код для создания временного объекта, т.е. вызова нужного конструктора
компилятор сгенерирует вызов t12.operator =( временный_объект )
компилятор сгенерирует вызов деструктора временного объекта

Там есть вариации с оптимизацией у компилятора, но не лезьте пока туда.
p51x вне форума Ответить с цитированием
Старый 23.05.2017, 05:15   #23
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Спасибо.
KAMLS вне форума Ответить с цитированием
Старый 24.05.2017, 11:03   #24
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Здравствуйте!
Как говорится, правильно поставленный вопрос решает половину задачи.
Люди знающие, подскажите пожалуйста, где можно прочитать подробно о работе компилятора с конструкторами и оператором присваивания?
Где четко и подробно написано об этом, с примерами кода и т.д. и т.п.
KAMLS вне форума Ответить с цитированием
Старый 24.05.2017, 11:15   #25
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

И вам боброго утра!
Работа компилятор с ними не отличается от других функции - когда надо сгенерировать вызов с правильными параметрами. Если вас интересует, когда будет вызываться тот или иной оператор/конструктор, то вам в стандарт языка или книжку, которая расжевывает его.
p51x вне форума Ответить с цитированием
Старый 24.05.2017, 15:31   #26
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Я правильно понимаю, что стандарт языка время от времени усовершенствуется, улучшается?
Действительно, меня интересуют правила по которым будет вызываться тот или иной оператор/конструктор в той или иной ситуации.
Если бы я знал эти правила, то эта тема бы не возникла я думаю.
Полазил немного по сети не нашел толковой книги которая разжевывает стандарт С++. Кто-нибудь может подсказать книгу?

Последний раз редактировалось KAMLS; 24.05.2017 в 15:57.
KAMLS вне форума Ответить с цитированием
Старый 25.05.2017, 05:53   #27
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Цитата:
Сообщение от KAMLS Посмотреть сообщение
оператор/конструктор
Конструктор вызывается ТОЛЬКО при создании объекта.
Croessmah вне форума Ответить с цитированием
Старый 26.05.2017, 18:53   #28
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Спасибо.
Где скачать толковую книгу про компилятор знаете?
KAMLS вне форума Ответить с цитированием
Старый 26.05.2017, 20:05   #29
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Что такое "книга про компилятор"?

Если про стандарт С++, то наверно Страуструп (не читал почти).
Ну и собственно сам стандарт (на английском).

Но думаю не стоит пока упарываться этим.

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

Потом можно Effective C++ Мейерса почитать если будете дальше заниматься С++.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 28.05.2017, 14:51   #30
KAMLS
Форумчанин
 
Регистрация: 09.04.2017
Сообщений: 598
По умолчанию

Заниматься С++ я теперь буду очень долго))
Суть в том, что у каждого человека своё восприятие информации.
Мне для понимания оказывается надо знать, что компилятор делает с конструкторами и операторами присваивания в различных ситуациях. Т.е. нужен свод правил по всем возможным ситуациям касаемо конструкторов и операций присваивания.
Ну и по всей вероятности не только по этим вопросам.
Я же вижу, что я не понимаю логики действий компилятора)))
Ну, то есть кое что понимаю но многого не хватает.
Вы мне объясняете, а я не понимаю, потому что вы думаете что я знаю как смотреть на ситуацию, понимаю действие логики компилятора. Но я не телепат))
Т.е. вы вполне компетентные люди по вопросу, но не очень компетентные преподаватели,))) чтобы объяснить незнающему то что он хочет узнать что знаете вы.
Я вас не критикую, не в коем случае!
Просто объясняю проблему, как я её вижу.
Если нет книги описывающей простоватым (или нет) языком правила действия компилятора, то это плохо.
KAMLS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конструктор KHz Помощь студентам 4 14.12.2015 12:49
Конструктор gospodenkods Фриланс 3 22.04.2014 07:27
конструктор zla9_kolu4ka Общие вопросы C/C++ 2 09.03.2014 02:37
С++ (конструктор, деструктор, копирующий конструктор) Jane-sad Помощь студентам 2 01.10.2010 10:01
Конструктор PilGrim Общие вопросы C/C++ 0 16.01.2009 10:21