Các toán tử này có ý nghĩa gì trong đoạn mã được tạo bằng C++ trực quan?

lập trình


^>^ (dòng 1) và “%” (dòng 6) nghĩa là gì trong đoạn mã bên dưới:

void main(array<String^>^ args)
{
	Application::EnableVisualStyles();
	Application::SetCompatibleTextRenderingDefault(false);
	Proj03122::stanForm form;
	Application::Run(% form);
}

‘^’ có nghĩa là gì trong đoạn mã dưới đây:

private: System::Void btnOk_Click(System::Object^ sender, System::EventArgs^ e) {
	String^ firstname = this->tbFirstName->Text;
	String^ lastname = this->tbLastName->Text;

	this->Greeting->Text = "hello, " + firstname + " " + lastname;
}

Những gì tôi đã thử:

Tôi đã google nó nhưng thật không may, không ai nói về nó. Tôi thậm chí đã nghiên cứu một số bài hướng dẫn về C++ nhưng vẫn chưa giải quyết được các câu hỏi.

Giải pháp 1

Cái đó được gọi là con trỏ mũ và nó chỉ ra rằng tài nguyên này đã được thu thập rác. Những gì bạn đang nhìn thấy có biểu tượng Visual C++ CLI. Microsoft gọi đây là Xử lý cho toán tử đối tượng (^)[^]. Bạn có thể coi đây là một dạng con trỏ thông minh (mặc dù dựa trên tâm lý thu gom rác), trong đó đối tượng bị xóa khi thời gian chạy quyết định rằng đối tượng không còn hoạt động nữa.

[Edit]Tôi đã bỏ lỡ câu hỏi của bạn về % nhà điều hành. Đây là tương đương được quản lý của một tham chiếu sử dụng C++/CLI. Nói chung, nếu bạn nghĩ đến ^ tương đương với * thì ở thế giới này % tương đương với &.

Giải pháp 2

Nếu bạn đang tìm kiếm ‘^>^’ thì không có gì ngạc nhiên khi bạn không tìm thấy gì cả.

Toán tử là ‘^’, có nghĩa là loại trước đó có thể thu thập được trong C++ CLI.

Các ký tự ‘< >‘ là một phần của array khai báo, biểu thị kiểu mà mảng chứa. Trong trường hợp của bạn, nó xác định một array of Strings hoặc (không chính xác), ‘mảng‘.

Đặt lại các ký tự ‘^’ và bạn có array<String^>^có nghĩa là một mảng các Chuỗi có thể sưu tập được.

コメント

タイトルとURLをコピーしました