2010-11-09 240 views
2

可能重複:
What does the caret mean in C++/CLI?在C++中'System :: String ^'是什麼意思?

System::String是一類。附加脫字符是什麼意思?

System::String^ productString = L""; 

有沒有人見過這個?我在這張照片上找不到Stroustrop的任何東西。

+3

你找不到任何東西,因爲這不是C++代碼。 http://en.wikipedia.org/wiki/C%2B%2B/CLI – UncleBens 2010-11-09 15:48:16

+1

刪除了C++標記,因爲這不是C++。 – 2010-11-09 15:49:44

+1

C++標記丟失是爲什麼我以前找不到其他匹配的答案。 – Kieveli 2010-11-12 18:55:09

回答

8

這是微軟C++/CLI^運算符用於訪問.NET引用類型。這意味着排序「句柄」,語法是ClassName^而不是ClassName*

2

它不是一個標準的C++,它是C++/CLI其中System::String^表示System::String的句柄。

+0

否'System :: String ^'不代表對System :: String的引用。 'references'與'handles'不同。 – 2010-11-09 15:53:11

+0

@Prasoon Saurav:對 – vitaut 2010-11-09 15:56:04

5

這不是真正的C++,但C++/CLI(一個C++極爲相象的語言定位的通用語言界面)

5

'System::String^'在C++中的含義是什麼?

什麼都沒有!因爲它不是C++,它的C++/CLI。 productString是句柄^""

3

此語法特定於Microsoft的託管版本C++的C++/CLI

避免這種情況,除非你絕對必須它具有與本機C++代碼互操作。如果您正在編寫託管代碼,請使用C#本機代碼C++。