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

Измените структуру CStash чтобы данные хранились в объекте типа vector<char> - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Случайный вывод значений переменных http://www.cyberforum.ru/cpp-beginners/thread1012792.html
Доброй ночи, мне тут подруга дала задачку, написать программу-гадалку. Ну мол, вводишь вопрос, а она выдает "Да" или "Нет". Проблема в следующем, - никак не могу найти каким образом сделать рандом...
C++ Задача на работу с текстовыми файлами В качестве входных данных поступает некоторое сообщение. Все сообщения имеют общее правило: Пользователь Команда Задача следующая. По вводу данных должен вестись лог. лог должен записываться в... http://www.cyberforum.ru/cpp-beginners/thread1012789.html
C++ Определить средние значения элементов строк массива
Определить средние значения элементов строк массива M. Найти минимальное значение среди этих средних. #include<conio.h> #include <iostream> using namespace std; const int n = 3; const int m = 4;...
C++ Поиск чисел Фибоначчи
Доброго времени суток! Написал программку, которая находит значение n-элемента в последовательности Фибоначчи. Изначально в ней содержалась ошибка (в последствии исправил). Когда я решил проверить...
C++ Объясните, как в данном примере работает friend http://www.cyberforum.ru/cpp-beginners/thread1012759.html
friend bool operator== (const String& firstStr, const String& secondStr); Если писать код без friend, то возникает ошибка: слишком много параметров для этой функции оператора. Вопрос: ...
C++ Как записать третье условие Как записать третье условие if? Оно почему-то не срабатывает совсем, если пишу число больше 100 или меньше 1... Задание: напишите код, умножающий исходное число на 2, если оно принадлежит интервалу... подробнее

Показать сообщение отдельно
MrCold
855 / 753 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
20.11.2013, 14:32
Не хочешь один вектор использовать ? не хочешь - не надо.
Цитата Сообщение от helloy Посмотреть сообщение
пример можно?)
Вот так можно, по моему компилируется
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <iostream>
#include <vector>
 
struct CStash
{
 
    CStash();
    explicit CStash(int size);
    template<typename T>
    void  add( T * element, int LENGTH);
    void* fetch(  int index);
    int count();
    void cleanup();
    void print();
 
    int next;
    std::vector<unsigned char> storage;
};
 
 
 CStash::CStash() : next(0)
 {
    storage.reserve(1000);  
}
 
 CStash::CStash( int sz) : next(0)
 {
    storage.resize(sz);  
}
 
 void CStash::print()
{
    for( std::vector<unsigned char>::const_iterator it = storage.cbegin(); 
        it != storage.cend();
        it++)
    std::cout << *it << ' ';
}
 
 
template<typename T>
void  CStash::add( T* element, int LENGTH){
 
    for(int i = 0;i < LENGTH; i++)
        storage.push_back(element[i]);
    next++;
}
 
void* CStash::fetch( int index)
{
    return &storage.at(index);
}
int CStash::count()
{
    return next;
}
 
 
void CStash::cleanup()
{
      storage.clear();
       next = 0;
    }
    
 
int main( )
{
    int byteArray[] = {0x49,0x91,0x6E,0xDC};
    char chArray[] = "4A464946";
    CStash cstash;
        cstash.add(byteArray, sizeof(byteArray)/sizeof(byteArray[0]));
        cstash.add(chArray, sizeof(chArray)/sizeof(chArray[0]));
        cstash.print();
    
    std::cin.get();
    return EXIT_SUCCESS;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru