Форум программистов, компьютерный форум, киберфорум
Наши страницы

Deep copy and Shadow copy - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка при выполнении http://www.cyberforum.ru/cpp-beginners/thread629877.html
Привет всем. Скажите пожалуйста, что мне делать? При выполнении программы выдает ошибку "Инструкция по адресу "0x004013bd" обратилась к памяти по адресу "0х00000002". Память не может быть "written"....
C++ Ввод структуры в текстовый файл столбиком и вывод данных из файла в структуру Имеется база данных в виде структуры, которая будет постепенно дописываться приблизительно до 1000 элементов. В каждом элементе структуры 10 составляющих разных размеров и размерности. struct x {... http://www.cyberforum.ru/cpp-beginners/thread629872.html
Overloading [] operators C++
Преект компилируется нормально. По заданию нужно чтобы было реализованно 2 версии оператора одна для чтения другая для записи типа дано что нужно их декларироватьмплемн вот таким образом Point&...
Найти количество отрицательных элементов строк, которые содержат хотя бы один нулевой элемент C++
Задание: Найти количество отрицательных элементов строк, которые содержат хотя бы один нулевой элемент. Ошибка в функции work: он ищет все отрицательные элементы, а нужно чтобы искал там где есть...
C++ Подскажите название книги http://www.cyberforum.ru/cpp-beginners/thread629855.html
Не подскажите название книги по c++: у нёё было два автора, к ней прилагался cd, в начале не объяснялась структура длинной команды (просто говорилось что она делает), и описывалась работа не в visual...
C++ Начало программирования Подскажите книжку для начала программирования на c++, а то я не уверен что Стивен Прата подходит для начала. подробнее

Показать сообщение отдельно
Schizorb
510 / 462 / 16
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
Завершенные тесты: 1
28.07.2012, 12:47
В данном случае достаточно:

C++
1
m_size = source.m_size;
В m_size копируется значение source.m_size, это становятся две независящие друг от друга переменные, содержащие одинаковые значения, но при изменении одной не произойдёт изменений в другой.

Другое дело, если в классе есть указатели. Тогда поверхностное копирование приведет к тому, что в обоих объектах будут указатели, содержащие один и тот же адрес, то есть указывать они будут на одну и ту же область памяти. Значит здесь нужно копировать не значения указателей, а данные, на которые они указывают. То есть, именно то, что вы делаете для m_data. (Написать просто m_data = source.m_data было бы ошибкой)
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru