2016-10-05 5 views
1

Обращаясь к https://support.microsoft.com/en-us/kb/815657 там в коде они пишутC++ начинающий Струнный указатель в визуальной студии

String *sURL = S"http://www.microsoft.com"; 

Я предполагаю, что это определяет указатель, а не обычный объект по сравнению с

String sURL 

Правильно? Но что такое «S» перед фактической строкой?

Visual Studio говорит мне, что эта строка кода не так, он говорит

обычный указатель на C++/CLI класса реф или класса интерфейса не разрешено

Что делать они имеют в виду? Я использую visual Studio 2015.

+2

Использование^вместо *? – Macmade

+0

@Macmade Ваш комментарий является cryptic ... – piwi

+0

@piwi Различные синтаксисы указателей для объектов .NET ... – Macmade

ответ

1

Первое, что не является простым C++. Это C++/CLI (C++ изменен для Common Language Infrastructure), который является спецификацией языка, созданной Microsoft и предназначенной для замены Managed Extensions для C++.

Так что, когда у вас есть указатель в нормальном заявлении, как один, упомянутых выше, вы должны изменить синтаксис в CLI

String ^sURL = S"http://www.microsoft.com"; 

И S вы использовали перед фактической строки присутствует там для typecaststd::stringSystem::String

+0

хорошо, спасибо. Я не хочу много делать, только отправляя некоторые запросы GET (возможно, POST) и анализируя результат. Мне нужна эта спецификация MS или у меня есть шанс остаться с простым C++? – AndyAndroid

+0

@AndyAndroid: Учитывая, что на Mac и Linux есть веб-браузеры, вы можете понять это сами;) Но вот подсказка: 'libcurl'. – MSalters

+0

Не совсем - 'S' говорит, что строковый литерал, который следует ниже, должен быть напечатан как' System :: String^'вместо' const char * ' –

Смежные вопросы