|
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 14
|
|
Реализация конструктора копирования30.01.2016, 15:30. Показов 2800. Ответов 10
Метки нет (Все метки)
0
|
|
| 30.01.2016, 15:30 | |
|
Ответы с готовыми решениями:
10
Реализация конструктора копирования для класса Реализация конструктора копирования для двумерного динамического массива |
|
14138 / 9367 / 1350
Регистрация: 21.01.2016
Сообщений: 35,235
|
|
| 30.01.2016, 17:28 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 14
|
||||||
| 30.01.2016, 17:43 [ТС] | ||||||
|
При такой строчке выдает ошибку
Zaryad это походной от абстрактного ref класа
0
|
||||||
|
0 / 0 / 0
Регистрация: 16.05.2013
Сообщений: 14
|
|
| 30.01.2016, 20:44 [ТС] | |
|
Спасибо
0
|
|
|
Комп_Оратор)
|
||
| 31.01.2016, 01:17 | ||
|
Но если это нужно, то нужно написать свой метод клонирования. Правильный путь, - унаследовать интерфейс IClonable, наверное. То есть конструктор не нужен.
0
|
||
|
14138 / 9367 / 1350
Регистрация: 21.01.2016
Сообщений: 35,235
|
|
| 31.01.2016, 07:55 | |
|
IGPIGP, вообще говоря с C++\CLI копирующие конструкторы есть.
2
|
|
|
Комп_Оратор)
|
||
| 31.01.2016, 11:18 | ||
|
Я увидел разъяснение о создании экземпляра с помощью объявления переменной (семантика С-стека). То есть рассказывается о неявном вызове конструктора по умолчанию. Это плохо как я понимаю, так как объявление пустой ссылки с отложенной инициализацией невозможно. Теперь при попытке создать таковую будет создаваться объект. В Майкрософт что-то происходит. ![]() То что называется конструктором копии вызывается с аргументом "значение". Я такого не знал и прекрасно без него обходился. Нужно почитать и поэкспериментировать. Не разобрался ещё и не поверил ещё.
0
|
||
|
14138 / 9367 / 1350
Регистрация: 21.01.2016
Сообщений: 35,235
|
|
| 31.01.2016, 12:28 | |
|
IGPIGP, я сам только недавно узнал
. Как вы и сказали в посте выше, ссылок вполне достаточно, что бы комфортно работать. За почти год работы C# разработчиком ещё ни разу не поймал себя на мысли "А вот тут бы мне пригодился копирующий конструктор". В С++\CLI он больше нужен как дань традиции))
0
|
|
|
Комп_Оратор)
|
||
| 31.01.2016, 12:44 | ||
|
Ведь по нормальной схеме механизм стека отрабатывает передачу копии ссылки. Передача копии значения не предусмотрена для ссылочных классов в автоматическом режиме. Тогда всё связанное с такими конструкторами копирования это замусоривание мозга. Есть клонирование же. Посмотрите какие глаза у людей которые ринулись из С++ в .NET с фразочкой "щас быстренько нашлёпаю ГУЙ". Результат получается неожиданный, мягко говоря. Им бедолагам и так хватает, а если ещё и это добавить, то... ![]() Думаю C++/CLI переходит в новую фазу. А жаль.
0
|
||
|
Администратор
|
||||||||
| 03.02.2016, 16:13 | ||||||||
|
Поддержу мысль о том, что такой конструктор копирования оставлен или как дань традиции или один из способов облегчения взаимодействия чистых плюсов с C++/CLI.
Вообще говоря, эта возможность для .NET является излишней. Оператор равенства переопределить невозможно, а размещением экземпляров управляемых типов занимается CLR, а не программист. Единственное, что он решает - выбрать значимый или ссылочный тип. Создать же один экземпляр на основе другого можно с помощью
gcnew.ICloneable не имеет обобщённой версии, а кажется: надо бы! Но потом понял, что Майкрософт так делает в тех случаях, когда не хочет, чтобы программисты его использовали. Примеры - IHashCodeProvider и HybridDictionary, обречённые на забвение.Ну и, собственно, про ICloneable MSDN пишет
1
|
||||||||
| 03.02.2016, 16:13 | |
|
Помогаю со студенческими работами здесь
11
Касательно конструктора копирования
Не понятна работа конструктора копирования
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|