Это специфично для Microsoft и является частью языка, который они называют C ++ / CLI.Этот синтаксис объявляет переменную Common Language Runtime (CLR) String
(того же типа, который вы получаете, когда объявляете string
в C #).Они не являются взаимозаменяемыми напрямую с несколькими строковыми типами C / C ++, но Microsoft предоставляет средства сортировки для преобразования объектов CLR String
в неуправляемые строки и наоборот.
C ++ / CLI позволяет разработчикам создавать программы, которые регулярно соединяютКлассы / функции C ++ (иначе называемые «неуправляемый код») с классами / функциями CLR (иначе называемые «управляемый код»).Microsoft также предоставляет низкоуровневые возможности CLR для C ++ / CLI, некоторые из которых также доступны для C # (например, указатели), а некоторые - нет (например, более высокая степень детализации по уровням доступа к элементам).
Этополезно, если вы хотите использовать существующую библиотеку C или C ++ на языке, подобном C # (создавая привязки в C ++ / CLI, а затем открывая их для CLR без прохождения P / Invokes), или если вы хотите портировать существующий неуправляемый C/ C ++ библиотека или приложение к управляемой среде.