|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||||||||||||
Конструктор, принимающий в качестве аргумента ссылку на объект, всё портит08.09.2013, 14:08. Показов 5075. Ответов 47
Метки нет (Все метки)
Друзья! Вот корректный код:
0
|
||||||||||||||||
| 08.09.2013, 14:08 | |
|
Ответы с готовыми решениями:
47
Создать функцию, которая принимает в качестве аргумента ссылку на string, и преобразует все буквы в верхний регистр Компилятор требует конструктор, принимающий аргументом экземпляр того же класса (не ссылку) |
|
|
||||||
| 08.09.2013, 14:31 | ||||||
|
Так должно скомпилиться:
0
|
||||||
|
|
||||||
| 08.09.2013, 16:04 | ||||||
|
Тут как бы все временные объекты по умолчанию константны. А вместо конструктора, принимающего константную ссылку определен конструктор только не с константной. Можно также это увидеть на примере:
0
|
||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||||||||||||
| 08.09.2013, 21:22 [ТС] | ||||||||||||||||
![]() Смотрите, есть код:
0
|
||||||||||||||||
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
|
| 08.09.2013, 21:43 | |
|
Для создания объекта c2 в первом случае используется конструктор копирования по умолчанию. Во втором же случае используется пользовательский конструктор копирования который принимает неконстантную ссылку, что и приводит к ошибке, ибо на вход ему передается rvalue
0
|
|
|
|
|
| 08.09.2013, 21:44 | |
|
kravam, ну так я и говорю: потому что при foo c2 = foo (9); вызывается определенный пользователем копирующий конструктор, принимающий неконстантную ссылку, хотя сам временной объект - константный. Не было б определено копирующего конструктора - он был бы сгенерирован компилятором, но только принимающий константную ссылку.
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|||
| 08.09.2013, 22:26 [ТС] | |||
|
Добавлено через 1 минуту
0
|
|||
|
|
|
| 08.09.2013, 23:04 | |
|
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||||
| 09.09.2013, 20:23 [ТС] | ||||||||
0
|
||||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 09.09.2013, 20:27 [ТС] | |
|
Стоп. Если синтаксис моего КК верен, то... то всё. Компилятор должен компильнуть. Но он не компилит, вот в чём дело.
А уж если я его неправильно использую, увидим исключение какое-нибудь во время выполнения программы.
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 09.09.2013, 20:48 [ТС] | |
|
0
|
|
|
|
||||||
| 09.09.2013, 20:50 | ||||||
|
kravam, с неконстантными объектами.
Вот аналогичная ситуация:
0
|
||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
| 09.09.2013, 20:53 [ТС] | ||||||
|
А какой бы конструктор копирования подошёл для такого кода?
0
|
||||||
|
|
|||||||||||
| 09.09.2013, 20:56 | |||||||||||
0
|
|||||||||||
|
|
||||||
| 09.09.2013, 20:57 | ||||||
|
Вот мое понимание всего этого:
0
|
||||||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
| 09.09.2013, 21:03 [ТС] | ||||||
|
Что и требовалось доказать. Надеюсь я ничьих чувств не задену, если вставлю сюда отладочную надпись, которую НИКТО НИКОГДА НЕ УВИДИТ?
0
|
||||||
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
|
| 09.09.2013, 21:39 | |
|
В данном случае компилятор в целях оптимизации избавляется от лишнего вызова конструктора копирования
0
|
|
| 09.09.2013, 21:39 | |
|
Помогаю со студенческими работами здесь
20
Научить метод принимать в качестве аргумента объект своего класса и дочерних классов Раздельное объявление и описание шаблонной функции, принимающей в качестве операндов ссылку на объект класса "вектор" Создать функцию, имеющую два аргумента и возвращающую в качестве аргумента число из отрезка [a,b] Конструктор, принимающий параметр Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|