Строковое объявление в C ++ - PullRequest
5 голосов
/ 31 июля 2011

Насколько мне известно, объявление строки C ++ имеет вид:

std::string param;

Я шел по коду и понял, что объявление строки сделано следующим образом:

System::String^ param;

Может ли кто-нибудь поделиться этим заявлением ?! Это объявление строки Microsoft Visual C ++ или специальная библиотека, которая предоставляет другую альтернативу использованию строки C ++.

Ответы [ 2 ]

9 голосов
/ 31 июля 2011

Это специфично для 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 ++ библиотека или приложение к управляемой среде.

9 голосов
/ 31 июля 2011

Это синтаксис C ++ / CLI для дескриптора для объекта в управляемой куче.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...