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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
denys_l
52 / 52 / 4
Регистрация: 26.09.2011
Сообщений: 186
#1

Для чего необходимо распределять память при помощи new и как оно работает - C++

26.09.2011, 23:39. Просмотров 623. Ответов 4
Метки нет (Все метки)

Сижу вот думаю над таким куском кода и не могу понять, как он работает.
Допустим мы объявляем структуру:
C++
1
2
3
4
struct nameofctruct
{
setofsomevar;
};
Затем выделяем необходимое кол-во памяти для хранения уже объявленной структуры nameofstruct.
C++
1
nameofstruct *p_to_struct = new nameofstruct;
Значит, как я думаю... при объявлении структуры в самом начале мы уже резервируем необходимое количество памяти для её хранения. А затем мы берем и "селим" её по другому адресу. Но ведь она уже есть по одному адресу. Зачем это делается?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2011, 23:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Для чего необходимо распределять память при помощи new и как оно работает (C++):

При помощи вложенных циклов for необходимо нарисовать звездочками фигуры - C++
Доброго времени суток! Уважаемые знатоки, помогите пожалуйста решить задачку: при помощи вложенных циклов for необходимо нарисовать фигуры:...

Правильно ли составлено выражение, и для чего оно нужно в данном коде? - C++
Всем доброго времени суток! Нужно составить код для решения уравнения методом итераций 0.25х^3+x-1.2502=0 х Вопрос,...

Выделение в динамичесую память как его написать и как оно происходит? Что это я пишу? - C++
Простите, почти ничего не понимаю. for ( int i=6; i>0;i-- ) { unsigned short CshortVar=i; unsigned long ClongVar=i; ...

Как научить Windows ХР правильно распределять память? - Windows XP
Здравствуйте. Чуть более года назад я стал сталкиваться с проблемой. Интересно почему я до этого кучу лет такой проблемы не имел? Ну да...

При помощи таймера каждую секунду число a увеличивать, пока оно не станет равным числу b - C#
Здравствуйте, помогите реализовать метод для таймера. С формы считываются 2 целочисленных числа, число а и число b (a<b). Нужно, что бы...

Слайд-шоу: При помощи чего лучше отображать картинки - C#
Собрался реализовать слайд-шоу на c# и сразу возник ряд вопросов. Может кто сталкивался и поможет?? При помощи чего лучше отображать...

4
easybudda
Модератор
Эксперт CЭксперт С++
9664 / 5614 / 952
Регистрация: 25.07.2009
Сообщений: 10,778
26.09.2011, 23:56 #2
при объявлении структуры в самом начале мы уже резервируем
необходимое количество памяти для её хранения . А затем мы берем и "селим" её по другому
адресу. Но ведь она уже есть по одному адресу
Не правильно. При описании структуры вы просто сообщаете компилятору, данные какого типа будет содержать структура. Память выделяется при объявлении переменной, либо динамически при вызове malloc / new. К примеру, чтобы объявить глобальную переменную типа структуры (что на самом деле не лучшее решение в большинстве случаев), нужна примерно такая запись
C
1
2
3
4
struct POINT {
    int x;
    int y;
} pt;
0
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
27.09.2011, 00:00 #3
Проще говоря, вы определяете новый тип, называемый пользовательским типом.
При создании объекта этого типа выделяется память для данных в структуре, т.е. в вашем случае выделяется память для setofsomevar;
Тоже касается и для класса.
0
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
27.09.2011, 00:16 #4
struct nameofctruct
{
setofsomevar;
};
составляете смету

nameofstruct *p_to_struct = new nameofstruct;
просите деньги, соответствующие смете
1
denys_l
52 / 52 / 4
Регистрация: 26.09.2011
Сообщений: 186
27.09.2011, 11:27  [ТС] #5
ага... ну, пока понятно. Спасибо )
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2011, 11:27
Привет! Вот еще темы с ответами:

Что такое событие, для чего оно нужно - C#
Помогите разобраться, что ли Вчера пытался понять что же такое событие, для чего оно нужно, зачем ему делегат Ну и собственно вот...

Для чего предназначено бинарное дерево, что оно делает? - Delphi
народ подскажите пожалуйста для чего предназначено бинарное дерево? что оно делает? (надо делать курсовую на паскале - ) если можно скиньте...

OpenVZ, VMware® ESXi 64-bit - для чего оно нужно? - Софт
Извиняюсь, может не там создал тему, но не нашел более подходящего раздела. Объясните зачем нужно виртуализировать систему? Для чего это...

Какие директории и файлы необходимо скрывать при помощи robots.txt? - SEO
Здравствуйте. Насколько я понял, файл robots.txt может скрывать некоторые директории от поисковиков. Делаю сайт на php (рукописный) и...


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
27.09.2011, 11:27
Ответ Создать тему
Опции темы

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