![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
![]()
Добрый день !
Помогите рассталковать термин : структуры и классы ссылочного типа и типа значения . как я понял структуры и классы ссылочного типа это те которые должны размещаться только в управляемой куче, а структуры и классы типа значения это те , которые могут лежать либо в управляемой , либо в неуправляемой куче. |
![]() |
![]() |
#2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Наверно основная разница не в куче (вам какая разница где что лежит?), а в том, что value копируются при передаче в метод/присваивании и т.п., а если ref, то просто передается ссылка на тот же объект.
Зачем вы C++/CLI пытаетесь изучить если до вас всю предыдущую тему люди пытались донести, что лучше либо чистый С++ (в т.ч. например Qt), либо C#?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
#3 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
![]()
к примеру в func() передаю обьект A
Код:
Код:
в функции func{} обьект B ссылка обьекта A ? ___________________________________ _______ в чистом с++ писали так : Код:
на книги по C# пока нету денюшек. ![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Ну отдолжите скан на рутрекере пока нету
![]() Если MyClass это ref class, то "MyClass B" разве будет работать вообще? По-моему в C++/CLI везде надо писать "MyClass^" (ссылка).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
#5 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Видимо да. Там еще % для чего-то используется.
Гугл сломался? https://msdn.microsoft.com/en-us/library/ke3a209d.aspx http://www.codeproject.com/Articles/...ng-CLI-classes https://en.wikipedia.org/wiki/C%2B%2B/CLI#Handles
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
#7 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
![]()
вот к примеру два класса
Код:
Код:
так какую роль тогда играет слово ref и value ? |
![]() |
![]() |
#8 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Я не пишу на C++/CLI, насколько я понял из быстрого гугления value class это что-то типа struct в C#, ну а ref class — как обычный class в C#.
Там вроде тоже нету разницы в синтаксисе между ними, но структуры (как и все ValueType) копируются при присваивании. Ну и там нету никаких знаков для managed указателей как тут (и нативных C++ классов/структур), поэтому может быть не возникает такой путаницы. ![]() Обычно struct (value class) используют для каких-то небольших объектов, которые удобнее/логичнее копировать, чем передавать как ссылку. Например, Point (x, y), Rectangle. И обычно делают так, чтоб их поля были неизменяемыми (immutable http://stackoverflow.com/questions/3...ucts-immutable). https://www.google.com/search?q=.net...eference+types https://www.google.com/search?q=.net+class+vs+struct
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 10.09.2015 в 14:59. |
![]() |
![]() |
#9 |
Заблокирован
Регистрация: 06.02.2011
Сообщений: 1,999
|
![]()
почитал одну из тех статей , которую Вы мне скинули и пришел к следующему :
к примеру Код:
|
![]() |
![]() |
#10 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,724
|
![]() Цитата:
value класс при присваивание будет копировать полностью, поэтому условно можно назвать позначению ref - скопируется ссылка |
|
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Дебаг С++/CLI | Максим 116 | Помощь студентам | 3 | 27.12.2013 22:17 |
Ошибки в C++/CLI | Максим 116 | Помощь студентам | 2 | 25.12.2013 22:45 |
c++/cli | danzel1 | Общие вопросы C/C++ | 3 | 25.07.2011 17:11 |
C/C++/CLI. | Ynxarmed | Visual C++ | 1 | 31.08.2010 07:43 |
advapi32 и C++/CLI | Artem89 | Общие вопросы .NET | 1 | 20.12.2009 18:22 |