|
150 / 73 / 27
Регистрация: 09.04.2010
Сообщений: 297
|
|||||||||||||||||||||
Перегрузка оператора ++ , деструктор и конструктор копий30.07.2010, 14:34. Показов 3382. Ответов 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 | |
|
Определить конструктор без параметров, конструктор с одним параметром, конструктор с двумя параметрами, деструктор Конструктор инициализации, конструктор копирования, деструктор Создать класс "Вектор" и реализовать конструктор по умолчанию, конструктор копирования и деструктор Конструктор копий Конструктор копий Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
BitTorrent (версия 7.11 English) и Меню Настройки
russiannick 15.11.2026
Пункты, отвечающие за отключение обновлений в BitTorrent версии 7. 11 (английской)
Options
Preferences
General
Language
|
Транслитерация текста с кириллицы на латиницу (вариант №4)
Maks 15.11.2026
Что-то я перемудрил с предыдущими версиями, в этот раз сделал всё проще, обратившись к функции "СтрокаЛатиницей" из типового общего модуля "СтроковыеФункцииКлиент".
В данной функции нет апострофов,. . .
|
BitTorrent (версия 4.3.9) и Меню Настройки
russiannick 15.11.2026
В меню Настройки можно отключить автоматическое обновление программы.
Карта этого меню приложена ниже.
Нужный пункт выделен красным.
Сервис
Настройки
Поведение
|
Транслитерация текста с кириллицы на латиницу (вариант №3)
Maks 15.11.2026
Обновленная версия предыдущей обработки.
Изменения коснулись букв: Ъ, Ы, Ь, Э, отображения которых зависят от положения реквизита "Транслитерация имён".
Изменено отображение буквы Й.
Добавлена. . .
|
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|