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

Нюансы динамической памяти - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ надо решить лабу по праграммированию http://www.cyberforum.ru/cpp/thread75957.html
Описать структуру с именем ZNAK содержащую следующие поля: • Фамилия, имя; • Знак Зодиака; • Дата рождения (массив из трёх чисел).
C++ Дерево каталогов помогите разработать программу , которая выводит дерево каталогов (с нужным количеством отступов, в зависимости от уровня вложенности каталога) начиная с указанного в качестве параметра каталога. Если программе указан параметр -f (--file), программа должна выводить не только имена каталогов, но и имена файлов, которые в каталогах присутствуют. Программа по умолчанию показывает только ... http://www.cyberforum.ru/cpp/thread75870.html
C++ помогите пожалуйста, очень СРОЧНО
1. Дана последовательность из 100 целых чисел. Определить количество чисел в наиболее длинной подпоследовательности из подряд идущих нулей. 2. Дано число. Разделить каждую цифру числа на его порядковый номер. Полученное число напечатать. 3. В одномерном массиве, состоящем из n вещественных элементов, вычислить: • количество элементов массива равных нулю; • сумму элементов,...
C++ Чтение байтового файла
ifstream fin; Считывая по байту из файла методом get(), столкнулся с проблемой. Дойдя до символа с кодом 26 (конец файла), программа перестает считывать, хотя этот символ отнюдь не говорит о том, что файл закончен, просто код у байта такой. До этого просто при помощи ">>" считывал, но там еще хуже, она на переводах строки падала. Может быть кто-нибудь знает, каким образом можно считать ВСЕ...
C++ Защищенный режим DOS - С++ http://www.cyberforum.ru/cpp/thread75211.html
Нужна помощь!!! Надо написать программу на С++ для защищенного режима DOS. В проге надо записать данные в переменную до 100 мб а потом записать эти данные в файл. В программировании под DOS да еще в защищенном режиме я полный чайник... Поэтому просьба подскажите что можно почитать или помогите с исходником для этой задачи!!! :help:
C++ Захват звука Надо захватить звук в буфер для анализа. Ёмкость буфера искуственно ограничить и хранить в нём только последние n секунд. При поступлении кажого нового данного с микрофона самое старое выбрасывать. подробнее

Показать сообщение отдельно
-MefistofeL-
21 / 19 / 1
Регистрация: 11.02.2009
Сообщений: 383

Нюансы динамической памяти - C++

17.12.2009, 20:00. Просмотров 526. Ответов 0
Метки (Все метки)

вобщем у меня очень непонятная трабла. есть двумерный массив из объектов класса NET. в классе NET есть небольшой массив указателей на объекты класса Object. массив NET инициализируется так:

C++
1
2
3
4
5
6
NET** Object::net=new NET* [Object::NET_n];
for (int i=0;i<Object::NET_n;i++)
{
    Object::net[i]=new NET[100];
    for (int j=0;j<100;j++) Object::net[i][j]=NET (i-500,j);
}
конструкторы NET:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
NET::NET(float x,float y)
{
    int N=100;
    objs=new Object* [N];
    tcs=new tck* [N];
    n=0;
 
    a=new tck;
    b=new tck;
    c=new tck;
    d=new tck;
    
    a->reload (x,y,0,NULL);
    b->reload (x+1,y,0,NULL);
    c->reload (x+1,y+1,0,NULL);
    d->reload (x,y+1,0,NULL);
}

и черезвычайно странным образом получается, что строчки

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Object::net[500][99].objs==Object::net[500][1].objs;
    Object::net[500][97].objs==Object::net[500][1].objs;
    Object::net[500][99].objs==Object::net[500][3].objs;
    Object::net[500][57].objs==Object::net[500][1].objs;
    Object::net[500][99].objs[0]==Object::net[500][1].objs[0];
 
    Object::net[501][99].objs==Object::net[501][1].objs;
    Object::net[501][97].objs==Object::net[501][1].objs;
    Object::net[501][99].objs==Object::net[501][3].objs;
    Object::net[501][57].objs==Object::net[501][1].objs;
    Object::net[501][99].objs[0]==Object::net[501][1].objs[0];
 
 
    Object::net[501][99].objs!=Object::net[500][99].objs;
    Object::net[501][99].objs!=Object::net[500][1].objs;
    Object::net[501][99].objs!=Object::net[501][98].objs;
и им подобные возвращаю true. то есть все ссылки на экземпляры класса Object, находящиесе в экземпляре класса NET в нечетных строчках каждого столбца почемуто все указывают на одну и ту жеобласть памяти (в каждом столбце соответственно) например:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Object::net[500][99].objs==0x06a80248;
Object::net[500][97].objs==0x06a80248;
Object::net[500][57].objs==0x06a80248;
Object::net[500][1].objs ==0x06a80248;
Object::net[500][3].objs ==0x06a80248;
 
 
Object::net[501][99].objs==0x06aad608;
Object::net[501][97].objs==0x06aad608;
Object::net[501][57].objs==0x06aad608;
Object::net[501][1].objs ==0x06aad608;
Object::net[501][3].objs ==0x06aad608;
 
Object::net[501][2].objs ==0x06aadd28;
если чото непонятно спрашивайте... главное проявите внимание очень нужно решение этой проблемы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru