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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Variag
1 / 1 / 0
Регистрация: 21.10.2011
Сообщений: 24
Записей в блоге: 1
#1

Ответьте новичку - C++

15.09.2012, 20:22. Просмотров 704. Ответов 7
Метки нет (Все метки)

Здравствуйте!
Собственно, есть пара вопросов, на которые я был бы рад получить ответ:
1. Как известно, используя базовые библиотеки С++ (fstream) я могу записать объект класса в бинарный файл. Вопрос: если в классе объявлена статическая переменная, будет ли она записываться в файл вместе с остальными? И если да, то получается, если я запишу в файл несколько объектов одного и того же класса, столько раз в файл запишется статическая переменная?
2. Как я понимаю, из указателей на функции можно составлять массивы. А можно ли указатели на функции запихивать в контейнеры из STL типа vector, list и пр.
Заранее спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2012, 20:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ответьте новичку (C++):

ответьте на вопрос - C++
привет всем)) у меня такая проблемма: нужно написать программу которая выводит на экран одномерный массив,заполненный произвольно числами...

Кто знает,ответьте) - C++
Как реализованы строки с языке программирования Си? Почему строки называют нуль-терминальными? Сколько байт памяти необходимо для...

просто вопросы, ответьте пожалуйста) - C++
1) почему при применении оператора switch возле case нельзя писать несколько констант? если можно, то как? ибо если я их пишу через...

Где заказать в нете литературу по OLE,COM......(пожалуйста ответьте кто знает) - C++
Где можно найти толковую литературу по COM,OLE, базам данных, программированию в нете(все для VC++: ATL,MFC).Есть какие-то конкретныя книги?

Найти сумму ряда с точностью, общий член которого. Ответьте пожалуйста - C++
Народ, очень прошу Вас помочь. Помогите решить пример в С++: Найти сумму ряда с точностью е=10-3, общий член которого: ...

C++ новичку - C++
Доброго времени суток! У меня такой вопрос. Раньше никогда не программировал, а сейчас стало очень интересно. Могу ли я как полный ноль в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
yekka
385 / 149 / 8
Регистрация: 12.05.2011
Сообщений: 450
15.09.2012, 20:33 #2
Цитата Сообщение от Variag Посмотреть сообщение
используя базовые библиотеки С++ (fstream) я могу записать объект класса в бинарный файл
каким образом вы это собираетесь делать?
а вообще для этой цели надо использовать boost::serialization

Цитата Сообщение от Variag Посмотреть сообщение
А можно ли указатели на функции запихивать в контейнеры из STL
можно
0
Variag
1 / 1 / 0
Регистрация: 21.10.2011
Сообщений: 24
Записей в блоге: 1
15.09.2012, 20:59  [ТС] #3
каким образом вы это собираетесь делать?
Очень просто:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <fstream>
class C
{
public:
//методы
private:
//переменные
};
 
int main()
{
C c;
char filename = "test.bin";
ofstream fout(filename, ios::binary);
fout.write((char*) &c, sizeof c);
fout.close();
return 0;
}
Вроде бы так...
0
DU
1483 / 1059 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
15.09.2012, 21:27 #4
статическая переменная не будет записана таким макаром. она не является частью объекта, при создании объекта память под нее в нем не выделяется. она хранится совсем в другом месте.
0
yekka
385 / 149 / 8
Регистрация: 12.05.2011
Сообщений: 450
15.09.2012, 21:30 #5
Цитата Сообщение от Variag Посмотреть сообщение
Очень просто:
абсолютно неправильный подход.
в файл нужно писать интересующие тебя данные, а не скидывать дамп памяти
0
Variag
1 / 1 / 0
Регистрация: 21.10.2011
Сообщений: 24
Записей в блоге: 1
15.09.2012, 21:54  [ТС] #6
Цитата Сообщение от yekka Посмотреть сообщение
абсолютно неправильный подход.
в файл нужно писать интересующие тебя данные, а не скидывать дамп памяти
Ну тогда объясните, если не сложно, в чем порочность этого метода, а так же расскажите поподробнее о предлагаемом Вами методе.
0
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
15.09.2012, 23:10 #7
Цитата Сообщение от Variag Посмотреть сообщение
Ну тогда объясните, если не сложно, в чем порочность этого метода
Скорее всего, ваш класс не будет являться POD-типом. А копировать побайтово можно только POD-типы.
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.09.2012, 00:00 #8
Цитата Сообщение от Variag Посмотреть сообщение
Ну тогда объясните, если не сложно, в чем порочность этого метода
Порочность в том, что непонятно: что сохраняется, и в каком виде.
Перегрузите операцию << в вашем классе для вывода в файл, и пропишите там, что и каким образом записывать в файл. Потом пишите: fout << c;
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.09.2012, 00:00
Привет! Вот еще темы с ответами:

Помогите новичку. - C++
Я совсем чайник, можно сказать, что я ни разу в жизни не сталкивался с программированием на каком-либо языке. Но у меня есть огромное...

посоветуйте новичку в С++ - C++
Здравствуйте! Я изучаю С++. С начала я скачала книгу Либерти, но было очень трудно. Сейчас я изучаю из книги &quot;Шилдт Г. С++ Базовый курс,...

Посоветуйте новичку в С++ - C++
Здравствуйте! После школьной программы знаком с основами Паскаля, Делфи. Скоро поступлю в ВУЗ. Скорей всего буду изучать там С++. Решил...

подскажите новичку - C++
основы и синтаксис с++ знаю хотелось бы изучить QT но незнаю как подойти к решению вопроса подскажите книги какие-то голова кругом


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.09.2012, 00:00
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru