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

Мой класс для работы с файлами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Среднее значение элементов очереди http://www.cyberforum.ru/cpp-beginners/thread610228.html
Всем доброго времени суток. Задача такова. Имеется структура const int n=27; struct Transport { char surname; // фамилия char name; // имя char middleName; // отчество int amount; ...
C++ Красно-черное дерево (класс, шаблон и его реализация) всем привет, у меня возникла проблема в создании шаблона, в обычном виде т.е. в не шаблонном, он работает нормально НО как только пытаюсь сделать шаблон и поставить везде куда надо template так тут... http://www.cyberforum.ru/cpp-beginners/thread610217.html
Прата - составные типы C++
Добрый день. Недавно начал заниматься С++ по книге Прата. Прошел четвертую главу и встретил такую задачу: Напишите программу С++, которая запрашивает и отображает информацию, как показано в...
C++ Создать иерархию типов. c++
Здравствуйте! Посмотрите пожалуйста программу. Правильно ли построены классы. Задание: Создать иерархию типов - транспорт, корабль, пассажирский транспорт и пассажирский корабль. Использовать...
C++ "текст в базе" и действия на клавиши http://www.cyberforum.ru/cpp-beginners/thread610141.html
Короче мне нужно сделать так чтоб по нажатию на кнопку в файле по адрессу(залитому на сайт какойнить) проверялась наличие текста написанного в техтбоксе 1 например! И если текст есть то например...
C++ Перемножение разреженных матриц Программа для перемножения разреженных матриц. все работает нормально, за исключением того, что при матрицах большого размера (1000+) считает от 10 минут и дольше. Помогите исправить код (как мне... подробнее

Показать сообщение отдельно
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1305 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
21.06.2012, 10:35
Во первых, соглашусь с предыдущим оратором.
Во вторых, класс не добавляет функциональности, т.е. он бесполезен. Но кое-что можно поменять, чтобы смысл появился. Например:
C++
1
2
3
template <class type> inline void writeContent (type* pointer, int length) {
            file.write(reinterpret_cast<char*>(pointer), length);
        }
заменить на
C++
1
2
3
template <class type> inline void writeContent (const type& pointer) {
            file.write(reinterpret_cast<char*>(&pointer), sizeof(type));
        }
Так ты сможешь записывать POD объекты не указывая размер вручную, т.е. меньше шансов ошибиться. Прочие метода аналогично подправить можно.
Кроме того, перед каждым объектом рекомендую сохранять размер этого объекта. А ещё лучше и версию его сохранять.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru