2 / 2 / 4
Регистрация: 02.03.2011
Сообщений: 134
1

Стек и распределяющая память. Где лучше хранить? В чем различия?

06.04.2014, 15:55. Показов 771. Ответов 2
Метки нет (Все метки)

Например:
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
#include "stdafx.h"
 
using namespace System;
 
// Class representing a height
value class Height
{
private:
  // Records the height in feet and inches
  int feet;
  int inches;
 
public:
  // Create a height from inches value
  Height(int ins)
  {
    feet = ins/12;
    inches = ins%12;
  }
 
  // Create a height from feet and inches
  Height(int ft, int ins) : feet(ft), inches(ins){}
};
 
int main(array<System::String ^> ^args)
{
  Height myHeight(Height(6,3));
  Height^ yourHeight(Height(70));
  Height hisHeight(*yourHeight);
 
  Console::WriteLine(L"My height is {0}", myHeight);
  Console::WriteLine(L"Your height is {0}", yourHeight);
  Console::WriteLine(L"His height is {0}", hisHeight);
  return 0;
}

myHeight - хранится в стеке
yourHeight - в распределяющей памяти clr
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2014, 15:55
Ответы с готовыми решениями:

В чем различия C# и C++ и что лучше учить?
Здравствуйте! Скажите, какая существует разница между вышеупомянутыми языками? и какой из них...

В чем лучше хранить данные?
Здравствуйте, недавно понадобилось хранить данные такого вида %Заголовок%...

В чем лучше всего хранить команды?
Здравствуйте, Где лучше всего хранить слова-команды? Есть огромный массив слов, хранить в...

Где лучше хранить контент?
Предположим я создал сайт, который решил заполнять информацией и так далее... И всплыл вопрос, а...

2
29 / 29 / 4
Регистрация: 29.09.2009
Сообщений: 177
23.06.2014, 12:32 2
Стек можно использовать для всех типов объектов реализация которых уже известна: типы данных из DLL файла или для структур значений value struct итд.
Управляемая куча (^) используется для всех типов объектов реализация которых известна и неизвестна. К примеру есть у вас класс который использует другой класс:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
// a.h
 
// прототип класса
ref struct b;
 
public ref struct a
{
b^ var1; // этот класс ещё не известен
b var2; // а вот так не выйдет
};
 
// a.cpp
#include "b.h"
0
Администратор
Эксперт .NET
9346 / 4628 / 755
Регистрация: 17.04.2012
Сообщений: 9,485
Записей в блоге: 14
26.06.2014, 19:38 3
What and where are the stack and heap?
Расписано более чем подробно
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.06.2014, 19:38
Помогаю со студенческими работами здесь

Где лучше хранить настройки?
Мне нужно сохранить в основном цвета. Допустим я задел цвет линиям красный, фон черный и так далее....

Где лучше хранить *.jar
Привет! По идее можно хранить в нескольких местах 1. в файловой системе в папке jvm/lib/ext...

Где лучше хранить информацию
Здравствуйте уважаемые форумчане. У меня есть числовой набор данных. При нажатии на submit какое то...

Где лучше хранить данные
Проблема вот в чем. Один знакомый попросил написать для него прогу для составление и хранение...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru