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

Есть ли разница между структурой в С++ и структурой в С#?

Есть ли разница между структурой в С++ и структурой в С#?

4b9b3361

Ответ 1

В С# вы используете структуры для определения типов значений (в отличие от ссылочных типов, объявленных class es).

В С++ структура - это то же самое, что и класс со стандартным уровнем доступности public.

Итак, вопрос должен быть: строятся в С#, отличные от классов в С++, и, да, они: вы не можете получить из С# structs, у вас не может быть виртуальных функций, вы не можете определить конструкторы по умолчанию, у вас нет деструкторов и др.

Ответ 2

Структуры на С# очень отличаются от классов, см. Структуры против классов для более

Структуры в С++ идентичны классам, EXCEPT, что члены являются общедоступными по умолчанию. Кроме того, С++-структура может делать все, что может сделать класс С++.

Ответ 3

Да.

structs в С# являются старыми, по значению, типами данных (в отличие от классов, которые являются ссылочными и содержат информацию OO)

structs в С++ - это просто класс, открытый по умолчанию.

Ответ 4

Вы пытаетесь взаимодействовать между управляемыми С++ и С#? Если это так, есть расширения для С++, чтобы это разрешить: см. ссылка

Ответ 5

С# struct - управляемый код, который будет освобожден мусором С#, когда никто больше не обратится к нему. Его деструктор вызывается всякий раз, когда сборщик мусора решает его очистить.

Структура С++ - это неуправляемый объект, который вы должны очистить самостоятельно. Это деструктор, как ожидается, вызывается при его удалении или выходит за рамки.