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

Тип данных для очень большого массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Почему иногда функции передается значение int, а иногда - нет? http://www.cyberforum.ru/cpp-beginners/thread92979.html
1 случай: void Function_1(int* & rVarOne, int* &rVarTwo) { /* Какие-то операции с указателями: rVarOne++; *rVarOne = *rVarTwo; */ }
C++ Как передать функции значение int? Пытаюсь передать функции значение int, но не получается. Синтаксически все правильно, но не компилируется. Как сделать так, шоб работало, НЕ меняя *& ? Вот ошибка: test.cpp: In function ‘int main()’: test.cpp:20: error: invalid initialization of reference of type ‘int*&’ from expression of type ‘int’ test.cpp:4: error: in passing argument 2 of ‘bool Factor(int, int*&, int*&)’ #include... http://www.cyberforum.ru/cpp-beginners/thread92942.html
C++ windows.h and afx.h
Добрый вечер! Есть проект, где используются винапишные функции и следовательно подключена windows.h. Встала необходимость использовать в нем класс CFile (MFC), при попытке подключить afx.h и объявить объект класса CFile компилятор ругается матом. > error C2146: syntax error : missing ';' before identifier 'cFileOut' error C4430: missing type specifier - int assumed. Note: C++ does not...
C++ *uk = *uk2
Пусть Указатель uk ссылается на область данных. Указатель uk2 ссылается на другую область данных. Делаем следущее: *uk = *uk2 Т.е. область данных, на которую ссылался указатель uk заполняется новыми данными по указателю uk2. А что становится со старыми данными? Превращаются в мусор? или всётки затераются новыми?
C++ Одномерные массивы, Работа со строками, Многомерные массивы http://www.cyberforum.ru/cpp-beginners/thread92828.html
Выручайте, помогите решить задания... Самостоятельная работа №6 Задачи по теме «Одномерные массивы» 1.В одномерном массиве размещены: в первых элементах — значения аргумента, в следующих — соответствующие им значения функции. Напечатать элементы этого массива в виде двух параллельных столбцов (аргумент и значения функции). 2.Дан целочисленный массив с количеством элементов п. Сжать массив,...
C++ Выделываются с циклами #include <iostream.h> #include <math.h> void main() {int l,n,m,i,j,k,p,NUL=1; cout<<"ENTER NUMBER OF X'S:"; cin>>n;n++; cout<<"ENTER NUMBER OF EQUALIZATIONS:"; cin>>m; double **A=new double*; for(i=0;i<m;i++){A=new double ;} подробнее

Показать сообщение отдельно
insideone
Модератор
Автор FAQ
 Аватар для insideone
3634 / 912 / 48
Регистрация: 10.01.2010
Сообщений: 2,457
08.02.2010, 13:49     Тип данных для очень большого массива
Может написать свой класс подобно такому:
C++
1
2
3
4
5
6
class Array{
    site_t Offset;
    DBType data[BLOCK_SIZE];
    DBType operator [] (size_t key);
    Array* Next;
};
если запрашивается данные data[x] где x > BLOCK_SIZE то выделяется новый Array и записывается указатель на него, и берется попытка взять данные из него. При этом новый Array знает что данные берутся с поправкой на Offset, т.е. реальный индекс будет не x а x-BLOCK_SIZE

Не знаю для каких целей требуется такие огромные массивы, но нужно не забывать про базы данных...
И ещё... двумерный массив это тот же одномерный массив же по сути, по крайне мере в памяти все идет в линию. Так что Array[10][20] при том что мы берем A[1][1] это тоже самое что A[200] и мы берем A[21]. Можно сделать пересчеты по обращению и все
 
Текущее время: 14:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru