![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
azesmcar, спасибо, понял (про тернарный в константном выражении)
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
azesmcar |
|
||||||||||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
Ну в общем-то практически на все вопросы уже ответили, но все равно сгруппировать стоит.
Кому хочется еще подумать можете не читать ![]()
Тернарный оператор умеет работать на этапе компиляции и может быть использован в метапрограммировании. В этом и есть его принципиальное различие. Как верно заметили на первой странице, приоритет оператора присваивания выше приоритета оператора запятая. Потому здесь будет выведено 10:1 Это не вызов конструктора класса std::vector, это обявление прототипа функции по имени data, возвращающей std::vector<std::string> и принимающей два параметра типа std::istream_iterator<std::string> с именем формального параметра is и вторую, того же типа но без имени..скобки игнорируются. В C++ все, что может быть интерпретировано как объявление интерпретируется как объявление. Здесь все действительно просто. Вызывается оператор запятая, потому работает первая перегрузка.
В случаях x2 и x4 структура инициализируется нулями.
Здесь стоит рассказать побольше. В C++ копирующим конструктором является конструктор, принимающий аргументом константную, либо обычную ссылку (+ все комбинации const и volatile) на объект своего типа. Если копирующий конструктор не написан пользователем, но необходим, компилятор попытается сгенерировать его сам. Сгенерированный конструктор копирования для класса
будет иметь следующий вид
теперь заменим int x на какой нибудь класс X. В строчке x(aref.x) вызывается конструктор копирования для класса X, которому передается константная ссылка на объект класса X (константная, потому-что aref константа). В таком случае компилятор не сможет откомпилировать этот код и ему придется убрать константность аргумента копирующего конструктора класса A. Если вкратце, то константность аргумента копирующего конструктора решается компилятором в зависимости от константности аргументов конструкторов всех членов класса. Это сообщение отредактировал(а) azesmcar - 11.7.2011, 09:15 |
||||||||||||
|
|||||||||||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
||||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
||||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
azesmcar, почему-то в тесте для сыроежки я увидел, а здесь нет. Видимо, из-за того, что погнался сразу за ожидаемым результатом...
|
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
в продолжение квеста :
сколько конструкторов копий имеет нижеследующая структура ?
Это сообщение отредактировал(а) mes - 11.7.2011, 12:55 |
|||
|
||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
3 Маленькое замечание по тернарному ? и инициализации референсов. В большинстве случаев его можно заменить на if и тут, введя промежуточные указатели:
Исключение -
|
||||
|
|||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
а где третий? если ты про то
Это сообщение отредактировал(а) azesmcar - 11.7.2011, 16:00 |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
mes, немного отредактировал код - изначально был конструктор типа А(A&, double d=4.4) |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
||||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
mes, странно. видимо, мне, как и xvr показалось...
|
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
||||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
продолжим
есть ли проблемы в коде и если есть, то какие. |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Есть, как минимум 2:
![]() Это сообщение отредактировал(а) xvr - 14.7.2011, 10:56 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |