![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
Предлагаю ответить на вопрос.
Вопрос устный, т.е. не используя компилятор Имеем код
Что выведется и почему? |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
зависит от того, выделял ли ты память под x перед вызовом printf. Если не выделял, то все что угодно, вплоть до Segmentation fault (Access violation).
Так как функция f не изменит значение указателя x в вызвавшей функции. |
|||
|
||||
| Damarus |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 671 Регистрация: 6.5.2006 Репутация: 6 Всего: 29 |
||||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
хорошо. Считаем вопрос исчерпаным. Все были достаточно внимательны и никто не ошибся...
А вот еще такой очень простой вопрос (опять же не прибегая к услугам компиллятора). Только по возможности отвечайте невидимыми чернилами, чтобы не распугать желающих оставить свой вариант ответа. Это не проверка чьих-то знаний и минусы за неправильные ответы я никому лепить не буду, как и смеяться, если кто-то напишет чушь с моей точки зрения. Мне важно узнать какие варианты будут предложены. Поэтому и компиллятор прошу не использовать что выведется в этой программе и почему ?
|
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
0
так как тут: A a1 = f(); конструктор копирования дб вызван, он по дефолту скопирует поля, а так как оператор = ни разу не вызывался, то х=0 ps совсем невидимых чернил не нашел... Это сообщение отредактировал(а) zkv - 13.7.2007, 13:34 |
|||
|
||||
| Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: 8 Всего: 37 |
вызовется конструктор копирования (по умолчанию). Это сообщение отредактировал(а) Sartorius - 13.7.2007, 13:35 |
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
||||
|
||||
| Sartorius |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: 8 Всего: 37 |
Потому, что запись
Равнозначна
|
||||
|
|||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
||||
|
||||
| Sartorius |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1568 Регистрация: 18.7.2006 Где: Ivory tower Репутация: 8 Всего: 37 |
http://ad.cctpu.edu.ru/cpp/glava18_9.htm\
На самом деле у Солтера и Клепера в "C++ для профессионалов" это описано очень хорошо, но ссылки на текст книжки не нашел ЗЫ Fazil6, такое впечатление, что ты сам удивлен результатом ... Это сообщение отредактировал(а) Sartorius - 13.7.2007, 15:15 |
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
вообще-то я в курсе почему. Я хотел узнать какие мнения могут существовать для объяснения этого. И как следствие эквивалентности кода
Ладно, этот вопрос закрываем как простой и не вызывающий затруднений |
|||
|
||||
| Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |