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

C++

Войти
Регистрация
Восстановить пароль
 
-MefistofeL-
21 / 19 / 1
Регистрация: 11.02.2009
Сообщений: 383
#1

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

17.12.2009, 20:00. Просмотров 549. Ответов 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;
если чото непонятно спрашивайте... главное проявите внимание очень нужно решение этой проблемы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2009, 20:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нюансы динамической памяти (C++):

Инспектор динамической памяти процессов - C++
Здравствуйте! Помогите пожалуйста. Нужно сделать &quot;Инспектор динамической памяти процессов&quot;. Может у кого-нибудь есть что-нибудь?

Задачка с динамической памятью и вводом из файла - C++
Здраствуйте...Помогите написать любую программу с использованием динамической память и ввода из файла...на c++ версии вроде 3.1 досовский...

Выделение динамической памяти - C++ Builder
Задан граф в виде матрицы смежности вершин. Найти число компонент связности в этом графе. Программа сделанная,но надо выделить...

Очередь в динамической памяти - C++ Builder
Привет всем, реализую очередь с помощью двух связного списка, можно добавить, удалить и просмотреть элементы, уже всю программу написал...

Ошибка очистки динамической памяти - C++ Builder
Добрый день! Пожалуйста подскажите? что я делаю не так? Записываю небольшой текст в RichEdit, считываю его в динамический массив,...

Ошибка динамической памяти при компиляции - C++ Builder
При нажатии баттона не компилирует по памяти, в чем может быть ошибка? Во вложение картинка ошибки. #include &lt;vcl.h&gt; #pragma...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2009, 20:00
Привет! Вот еще темы с ответами:

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

По динамической графики - C++ Builder
Привет всем!! Есть начальный коппонент (пуля) Как заставить её двигаться по координатам x,y (left,Top), если знать угол её начального...

Выделение памяти (CodeGear RAD Studio 2009 - C++ builder). Выделение памяти - консоль vs SDIApp - C++ Builder
Есть определенный класс - длинная арифметика. Не идеальный - хранение данных исполнено в виде динамического массива типа short int, каждая...

Должен ли общий объем графической памяти складываться из зарезервированной (фиксированной) памяти и динамической (DVMT)? - Видеокарты
Здравствуйте. Скажите, должен ли общий объем графической памяти складываться из зарезервированной (фиксированной) памяти и динамической...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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