![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
HMLd |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 27.6.2006 Где: Polska Репутация: нет Всего: 0 |
Здраствуйте. Всегда писал на Си++, теперь при изучении шарпа возник вопрос. Если есть переменная типа-значения (value-type), например:
то она хранится в стеке. А если написать
то будет ли она храниться в стеке или в куче? И то же самое насчёт ref-type. Если у меня есть объект класса, то в чём разница между SomeClass obj и SomeClass obj = new SomeClass? Путаюсь, потому что в плюсах при использовании new память выделялась в куче. Насколько я понимаю, здесь не так. Спасибо. |
||||
|
|||||
Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 2 Всего: 54 |
1. Типы-значения могут храниться как в стеке так и в куче (упаковка-распаковка): MSDN .
2. Ссылочные типы, на сколько я понимаю, храняться только в куче. -------------------- Слава Україні! |
|||
|
||||
HMLd |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 27.6.2006 Где: Polska Репутация: нет Всего: 0 |
Gluttton, ок, а где хранится int a = new int(); ?
|
|||
|
||||
Экскалупатор |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1746 Регистрация: 1.4.2009 Где: г. Минск Репутация: 5 Всего: 24 |
HMLd,
записи идентичны. все будет зависеть от того где находится переменная. т.е. если это поле класса то весь класс лежит в управляемой куче. |
|||
|
||||
CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 8 Всего: 28 |
оператор new не является показателем ссылочного типа. Это вызов конструктора. так что переменная а и там и там является структурой типа int -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
HMLd |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 67 Регистрация: 27.6.2006 Где: Polska Репутация: нет Всего: 0 |
Спасибо.
|
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | .NET для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |