Подтвердить что ты не робот

Управляемый класс С++ ref

Любой хороший сайт или пояснение о том, что такое ref class и когда объявить класс классом ref?

Объяснение msdn для меня было недостаточно,

base_type (необязательно)

Основной тип. Класс ref или ref struct может наследовать от нуля или более управляемых интерфейсов и ноль или один тип ref. Класс value или value struct могут наследовать только от нуля или более управляемых интерфейсов.

исх

Ключевое слово ref сообщает компилятору, что класс или структура будет выделена в куче, а ссылка на него будет передана функциям или сохранена в классах. Ключевое слово value сообщает компилятору, что все данные в классе или структуре передаются в функции или хранятся в элементах.

4b9b3361

Ответ 1

В принципе, ref class - это класс CLR. Это эквивалентно class в С#.

Это создает ссылочный тип, управляемый CLR. Если вы хотите создать класс, который можно использовать с С#, вы обычно создаете ref class. (ref struct, между прочим, делает то же самое, но с правилами доступности стандартного класса С++ для стандартных по умолчанию.)

Кроме того, только для справки - для создания типа значения (struct в С#) используйте value class или value struct.

Хорошим объяснением многих из этих новых ключевых слов является Сообщение Herb Sutter о ключевых словах С++/CLI. Это полезная ссылка, если вы новичок в С++/CLI, но имеете твердый фон С++.