2012-01-02 26 views
11

Tôi đã lập trình một thời gian dài trong C và trong C#, tôi nghĩ chuyển sang C++ sẽ trơn tru ...
dù sao, tôi đã nhìn thấy việc sử dụng dấu mũ nhưng tôi không hiểu ý nghĩa của nó.C++/cli caret^Vs. Con trỏ *?

gì là khác nhau giữa:

std::string *st1; 

để

String::string ^st2; 

Cảm ơn!

+1

trông giống như C++/CLR với tôi, * không * std C++ – crashmstr

+2

Nó được gọi là C++/CLI, không phải C++/CLR hoặc C++. NET. Nhưng vâng. –

+0

cảm ơn về thay đổi Thẻ. –

Trả lời

15

Dấu mũ cụ thể là C++/CLI, phiên bản .NET của Microsoft C++, ở đây là the managed equivalent of a pointer.

Nó không thực sự là một phần của tiêu chuẩn C++, vì vậy trừ khi bạn thực sự có nghĩa là để sử dụng. NET, không sử dụng nó.

3
String::string ^st2 

không phải là cú pháp ANSI C++ chuẩn!

+0

Cảm ơn, các thẻ đã được cố định vào C++ cli. –