![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| valex13 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 29.1.2003 Где: Иркук. область, г . Иркутск Репутация: нет Всего: 1 |
Торможу.
Есть struct - mystruct и есть mystruct *m_str1 mystruct m_str2 Я хочу, чтобы все данные находящиеся в m_str1 переехали в m_str2. Но как? Решение типа m_str2.item1 = m_str2->item1 не предлагать! |
|||
|
||||
| mr.DUDA |
|
||||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Если есть оператор "mystruct::operator=", то так:
если нету - то только конструктором копирования:
-------------------- ![]() |
||||
|
|||||
| automax |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 30.9.2002 Репутация: нет Всего: нет |
А можешь так:
Будет быстрее. А конструктор копирования делает так как ты сказал m_str2.item1 = m_str2->item1. Если тебя конечно смущает скорость, то лучше через memcpy |
|||
|
||||
| Ars |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 28.8.2003 Где: Московская обл. Репутация: 2 Всего: 2 |
Так скопирует и без переопределения operator= Метод не очень хорош, если в структуре есть указатели -------------------- Есть многое на свете, друг Горацио, С чем очень долго можно прое..! |
||||
|
|||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Если в структуре есть указатели, то нужно определить оператор = (который и будет выделять память под указатель и копировать блок памяти). -------------------- ![]() |
|||
|
||||
| valex13 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 29.1.2003 Где: Иркук. область, г . Иркутск Репутация: нет Всего: 1 |
Через memcopy проще. Спасибо!
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |