|
150 / 73 / 27
Регистрация: 09.04.2010
Сообщений: 297
|
|||||||||||||||||||||
Перегрузка оператора ++ , деструктор и конструктор копий30.07.2010, 14:34. Показов 3142. Ответов 21
Метки нет (Все метки)
Привет всем!
В продолжение Этой темы появились новые вопросы и непонятки. Буду признателен за советы и разъяснения ![]() Начну с самого начала... Пишу class - обертку для файла. Цель - упростить операции доступа к содержимому файла. Приблизительный план: (может, как по другому можно) класс должен содержать, и выдавать по требованию, такие данные; текущее положение курсора (номер строки и номер символа в строке) текущий символ. Смещешие курсора сделать с помощью операторов ++ и -- На каждый файл отдельный объект. В конструкторе инициал. поля и загружается часть файла в массив. Дальше будет видно... текущие наработки: file_pos.h
file_pos.cpp
main.cpp
Для перемещения по файлу решил перегрузить операторы инкремента и декемента Сделал смещение вперед (оператор ++) И столкнулся с проблемой: функция operator++ () возвращает объект и каждый раз при возврате из нее вызывается деструктор, в котором освобождается память (а ее освобождать не нужно). Решил проблему с помощью Конструктора копий. И тут, главный, на данном этапе, вопрос Правильно ли сделал конструктор копирования? в нем каждый раз делается копия массива buffer (даже 2 массива file_name и buffer). При прогоне по всем элементам файла такое копирование происходит много раз.. ![]() По-моему - это не оптимально Может я не так делаю? Конструктор копирования
0
|
|||||||||||||||||||||
| 30.07.2010, 14:34 | |
|
Ответы с готовыми решениями:
21
Почему не вызывается ни конструктор копий, ни функция перегруженного оператора присвоения
Класс "Матрица": конструктор, деструктор и перегрузка операторов |
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||
| 05.08.2010, 14:54 | ||
|
1
|
||
|
150 / 73 / 27
Регистрация: 09.04.2010
Сообщений: 297
|
|
| 06.08.2010, 12:19 [ТС] | |
|
Новый вопросец...
А стоит ли организовать поддержку UNICODE? На сколько это актуально? Если да, то хватит ли переделать используемый тип с char на wchar_t? Я думал сделать с помощью директив препроцессора и вставить в те места где нужно использовать разные функции, следующий код ( типа если определен UNICODE то использовать wchar_t и еарианты функций поднего Иначе использовать просто char и еарианты функций поднего ) Может у кого есть примерчик подобной переделки. Мне бы взглянуть только одним глазком
0
|
|
| 06.08.2010, 12:19 | |
|
Определить конструктор без параметров, конструктор с одним параметром, конструктор с двумя параметрами, деструктор Конструктор инициализации, конструктор копирования, деструктор Создать класс "Вектор" и реализовать конструктор по умолчанию, конструктор копирования и деструктор Конструктор копий Конструктор копий Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Remote Connection Manager
DevAlt 21.06.2026
Написал для себя небольшую прилагу:
https:/ / github. com/ altbodhi/ ReConMan
По итогу пришел к мысли, что DU не дружат с существующими технологиями.
От сериализации до отображения в реляционную. . .
|
Администрация Хабра удаляет новые энрегоэфективные алгоритмы, которые не западной школы кода, и вовсе никак не сгенерировавны.
Hrethgir 20.06.2026
Делается это, как замечено, при правках - при объявлении концептуальных отличий в алгоримах. Делается это, по линейке событий - после дополнения публикации основными отличиями от основных западных. . .
|
Процесс ориентированная диалектика (не новость - просто системное обновление, философия).
Hrethgir 20.06.2026
Однажды один участник в своём блоге, на этом форуме, сделал запись "О языках замолвите слово". Понимая, что язык - важная вещь, я решил хорошо подумать, прежде чем сказать, и сказал то, что вы видите. . .
|
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2.
Задача: контроль уникальности строк в. . .
|
|
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
|
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
|
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
|
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
|