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

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

Войти
Регистрация
Восстановить пароль
 
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
#1

Выделение в динамичесую память как его написать и как оно происходит? Что это я пишу? - C++

18.09.2013, 20:54. Просмотров 368. Ответов 8
Метки нет (Все метки)

Простите, почти ничего не понимаю.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
for ( int i=6; i>0;i-- )
    {        unsigned short CshortVar=i;
             unsigned long ClongVar=i;
             long CsVar = -i;
             int  CintVar=i;
             double  CdoubleVar=i;
             cout << "CshortVar:\t" << CshortVar;
             cout << " Address of CshortVar:\t";
             cout << &CshortVar << "\n";
             cout << "ClongVar:\t" << ClongVar;
             cout << " Address of ClongVar:\t";
             cout << &ClongVar << "\n";
             cout << "Cs.Var:\t" << CsVar;
             cout << " Address of CsVar:\t" ;
             cout << &CsVar << "\n";
             cout << "CintVar:\t" << CintVar;
             cout << " Address of CintVar:\t";
             cout << &CintVar << "\n";
             cout << "CdoubleVar:\t" << CdoubleVar;
             cout << " Address of CdoubleVar:\t";
             cout << &CdoubleVar << "\n";
             cout << "      \n";
 
            // delete
             unsigned short* pCshortVar=new  unsigned short;
             unsigned long* pClongVar=new    unsigned long;
             long* pCsVar = new long;
             int* pCintVar=new int;
             double* pCdoubleVar=new double;
             pCshortVar=CshortVar;
             pClongVar=ClongVar;
             pCsVar=CsVar;
             pCintVar=CintVar;
             pCdoubleVar=CdoubleVar;
 
             cout << "*pCshortVar:\t" << *pCshortVar;
             cout << " Address of pCshortVar:\t";
             cout << pCshortVar<< "\n";
             cout << "*pClongVar:\t" << *pClongVar;
             cout << " Address of pClongVar:\t";
             cout << pClongVar << "\n";
             cout << "*pCsVar:\t" << *pCsVar;
             cout << " Address of pCsVar:\t" ;
             cout << pCsVar << "\n";
             cout << "*pCintVar:\t" << *pCintVar;
             cout << " Address of pCintVar:\t";
             cout << pCintVar << "\n";
             cout << "*pCdoubleVar:\t" << *pCdoubleVar;
             cout << " Address of pCdoubleVar:\t";
             cout << pCdoubleVarr << "\n";
             cout << "      \n";
 
             // 
             delete pCshortVar;
             delete pClongVar;
             delete pCsVar;
             delete pCintVar;
             delete pCdoubleVar;
             cout << "*pCshortVar:\t" << *pCshortVar;
             cout << " Address of pCshortVar:\t";
             cout << pCshortVar<< "\n";
             cout << "*pClongVar:\t" << *pClongVar;
             cout << " Address of pClongVar:\t";
             cout << pClongVar << "\n";
             cout << "*pCsVar:\t" << *pCsVar;
             cout << " Address of pCsVar:\t" ;
             cout << pCsVar << "\n";
             cout << "*pCintVar:\t" << *pCintVar;
             cout << " Address of pCintVar:\t";
             cout << pCintVar << "\n";
             cout << "*pCdoubleVar:\t" << *pCdoubleVar;
             cout << " Address of pCdoubleVar:\t";
             cout << pCdoubleVarr << "\n";
             cout << "      \n"; cout << "      \n";
 
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2013, 20:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выделение в динамичесую память как его написать и как оно происходит? Что это я пишу? (C++):

джойнер что это за зверь и как его делать - C++
Всем привет, объясните пожалуйста как работает джойнер, по какому принципу, как они склеивают файлы, может у кого исходники есть? Хочу...

UINT - что это за тип? И как его из библиотеки в C# перевести? - C++
Здравия всем! В общем, есть функция такая: Q1: Что это за UINT такой? Я интернетах пишут, будто это сокращение от Unsigned...

Для чего необходимо распределять память при помощи new и как оно работает - C++
Сижу вот думаю над таким куском кода и не могу понять, как он работает. Допустим мы объявляем структуру: struct nameofctruct { ...

Что такое матричный знакогенератор и как его написать - C++
необходимо написать Матричный знакогенератор.Что это такое? на языке С++

Почему так происходит и как это устранить - C++
почему если я напишу вот так - #include &lt;stdio.h&gt; #include &lt;iostream&gt; using namespace std; int main() { ...

Динамические двумерные массивы через указатели. Как это происходит? - C++
Вот типичная идентификация двумерного массива (NxM): int** mass = new int*; for(i=0; i&lt;N; i++) mass = new int; Помогите...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Модератор
Эксперт CЭксперт С++
13147 / 7410 / 830
Регистрация: 27.09.2012
Сообщений: 18,244
Записей в блоге: 3
Завершенные тесты: 1
18.09.2013, 20:56 #2
C++
1
pCshortVar=CshortVar;
pCshortVar - это указатель (unsigned short*), а Вы в него пихаете unsigned short
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
18.09.2013, 20:59  [ТС] #3
Вы знаете, ругается на строки зо-з4 error C2440: =: невозможно преобразовать "unsigned short" в "unsigned short *"

Добавлено через 23 секунды
Да. Авот, щас

Добавлено через 2 минуты
Пример из либерти

C++
1
2
3
9:    int * pHeap = new int;
 
10:   рНеар = 7;
Здесь присваивается число. Я же тоже фактически присваиваю число? верней вписываю его в адрес?
Croessmah
Модератор
Эксперт CЭксперт С++
13147 / 7410 / 830
Регистрация: 27.09.2012
Сообщений: 18,244
Записей в блоге: 3
Завершенные тесты: 1
18.09.2013, 21:10 #4
Цитата Сообщение от Dimka-novitsek Посмотреть сообщение
C++
1
рНеар = 7;
Цитата Сообщение от Dimka-novitsek Посмотреть сообщение
Пример из либерти
лучше я промолчу

и посмотрите повнимательнее, может всё-таки там написано так:
C++
1
*рНеар = 7;
надежда умирает последней
Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
18.09.2013, 21:36  [ТС] #5
Не, там-таки так. Я ж отуда и скопировал. Спасибо!

Я ж пишу, что непонятно ничего... Но ужу лучше.
Belfegor
18.09.2013, 21:37
  #6

Не по теме:

выкинь ты этого либерти

alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.09.2013, 21:53 #7
Цитата Сообщение от Dimka-novitsek Посмотреть сообщение
Не, там-таки так. Я ж отуда и скопировал.
Зачем же клеветать не Либерти?
Миниатюры
Выделение в динамичесую память как его написать и как оно происходит? Что это я пишу?  
Croessmah
18.09.2013, 22:27
  #8

Не по теме:

Цитата Сообщение от alsav22 Посмотреть сообщение
Зачем же клеветать не Либерти?
Цитата Сообщение от Croessmah Посмотреть сообщение
надежда умирает последней
спаситель

Dimka-novitsek
14 / 14 / 0
Регистрация: 26.04.2012
Сообщений: 1,091
19.09.2013, 11:59  [ТС] #9
Не, я жене специально.. В моей книге так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Листинг 8.4. Выделение, использование и освобождение динамической памяти
 
1; // Листинг 8, 4,
 
2; // Выделение, использование и освобождение динамической памяти 3;
 
4: #include <iostream.h>
 
5: int main()
 
6: {
 
7:    int localVariable = 5;
 
8:    int * pLocal= &localVariable;
 
9:    int * pHeap = new int;
 
10:   рНеар = 7;
 
11:   cout << "localVariable: " << localVariable << "\n";
 
12:   cout << "*pLocal: " << *pLocal << "\n";
 
13:   cout << "*pHeap; " << *pHeap << "\n";
 
14:   delete рНеар;
 
15:   рНеар = new int;
 
16:   pHeap = 9;
 
17:   cout << "*pHeap: " << *pHeap << "\n";
 
18:   delete рНеар;
 
19:   return 0;
 
20: }
Да, а в выводах- есть звездочка.

Добавлено через 2 минуты
Я не щитаю Либерти плохой книгой. Но доходит до меня не сразу. Как правило, я что-то сразу же начинаю писать, пусть полную ерунду, но так много лучше запоминается. И вылазит сразу вся моя ерунда и непонятки.

Добавлено через 13 часов 18 минут
Вопрос. Смотрите. Тут

int * pHeap = new int; pHeap это адрес по которому хранится переменная. Так зачем ему тип int? Что адрес может быть разных типов? Это же просто адрес. Иными словами, зачем инт с двух сторон присвоения? Можно стало быть думать, что в таком присвоении можно обьявить разный тип переменных? Что тогда будет?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.09.2013, 11:59
Привет! Вот еще темы с ответами:

что это и как оно убирается - RedHat, Fedora Linux
как убрать всьо это гавно и сделать простой гномовский рабочий стол? С возможностью регулировать панели, аплеты и т.д. даже тему задать не...

Как использовать WebProxy? Что это? Зачем оно? - C#
Как использовать WebProxy? Что это? Зачем оно?

Оперативная память - что это и, как она влияет на работу компа - Оперативная память
оперативная память, объясните пожалуйста что это и как она влияет на работу компа?

Что это такое и как его читать? - Софт
Привет всем. Ребята подскажите пожалуйста, почему образуются вот такие тексты при открытии файла tec. и как его читать? ѓс®ўЙ Д `...


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

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

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