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

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

Восстановить пароль Регистрация
 
Punda
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 5
18.03.2013, 13:51     Выделение динамической памяти #1
Доброго времени суток!
я начинающий программист, столкнулась с такой проблемой:
выделяю память под динамический массив, например

C++
1
2
3
double **TrainingData;
TrainingData=new double*[num_ins+num_outs];
и в цикле TrainingData[i] = new double[rows];
во-первых часть
TrainingData=new double*[num_ins+num_outs];
и в цикле TrainingData[i] = new double[rows];
мне среда позволяет написать только например на действие кнопки, если сразу после строки double **TrainingData; он ругается. во-вторых когда на отладке пытаюсь посмотреть размер массива получившегося, пишет какую-то ерунду. на одной форме у меня все нормально работает, а вот на второй форме он не присваивает значения в массив, он воспринимает в принципе только первый элемент и то его обнуляет.
вопрос такой: должен ли он показывать сколько выделяется памяти при таком выделении и относительно обнуления и игнорирования размера на второй форме-в чем может быть причина?

пишу в embarcodero 2013

очень надеюсь на вашу помощь, проект должна была сдать давно.
заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2013, 13:51     Выделение динамической памяти
Посмотрите здесь:

Выделение динамической памяти в функции C++
C++ Выделение динамической памяти
Выделение динамической памяти C++ C++
C++ выделение динамической памяти
C++ Выделение динамической памяти
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
18.03.2013, 13:55     Выделение динамической памяти #2
Цитата Сообщение от Punda Посмотреть сообщение
мне среда позволяет написать только например на действие кнопки
Потому что код должен быть хотя бы в функции, а не абы как и где в файле валяться. Кто его на исполнение-то тогда запустит? И когда...
Цитата Сообщение от Punda Посмотреть сообщение
во-вторых когда на отладке пытаюсь посмотреть размер массива получившегося, пишет какую-то ерунду.
Это нормально. Массив-то не статический.
Punda
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 5
18.03.2013, 14:04  [ТС]     Выделение динамической памяти #3
как тогда можно просмотреть какие значения принимает массив?
просто на второй форме во всяком случае на отладке он не заполняется, кроме как первый нулевой элемент.
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
18.03.2013, 14:07     Выделение динамической памяти #4
Цитата Сообщение от Punda Посмотреть сообщение
как тогда можно просмотреть какие значения принимает массив?
Я не знаю, как в билдере это сделано и что он умеет. А так, просто заглянуть в память по указателю и все. Самое простое и работаеющее везде на 100%.

Добавлено через 1 минуту
Ну и такие мощные среды, как билдер должны уметь память показывать, как числа. То есть, где-нибудь можно указать, что показывать не просто байты в шестнадцатеричном виде, а рассматривать, их, как int, double и так далее.
Punda
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 5
18.03.2013, 14:07  [ТС]     Выделение динамической памяти #5
а как это сделать?
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
18.03.2013, 14:08     Выделение динамической памяти #6
Цитата Сообщение от Punda Посмотреть сообщение
а как это сделать?
Почитай документацию, как это делается в билдере. Я им не пользуюсь.
Punda
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 5
18.03.2013, 14:10  [ТС]     Выделение динамической памяти #7
Цитата Сообщение от Vourhey Посмотреть сообщение
А так, просто заглянуть в память по указателю и все. Самое простое и работаеющее везде на 100%.
я про вот этот способ
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
18.03.2013, 14:14     Выделение динамической памяти #8
Цитата Сообщение от Punda Посмотреть сообщение
я про вот этот способ
Так я и говорю. Не юзаю я билдер, откуда мне знать, какой там пункт меню. Но любой дебаггер умеет просматривать память. Поэтому просто почитай и все, как это в билдере.
Punda
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 5
18.03.2013, 14:21  [ТС]     Выделение динамической памяти #9
спасибо, буду пробовать

Добавлено через 1 минуту
а еще тогда вопрос, если сразу весь массив объявлять на кнопке, то как его сделать доступным другим кнопкам и функциям?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.03.2013, 14:33     Выделение динамической памяти
Еще ссылки по теме:

C++ Выделение динамической памяти
C++ Освобождение и выделение динамической памяти
Выделение динамической памяти C++

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

Или воспользуйтесь поиском по форуму:
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
18.03.2013, 14:33     Выделение динамической памяти #10
Цитата Сообщение от Punda Посмотреть сообщение
если сразу весь массив объявлять на кнопке, то как его сделать доступным другим кнопкам и функциям?
Если у тебя будет локальный указатель, то передачей указателя. Все исключительно от приложения зависит.
Yandex
Объявления
18.03.2013, 14:33     Выделение динамической памяти
Ответ Создать тему
Опции темы

Текущее время: 06:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru