Apa arti operator ini dalam cuplikan kode visual yang dihasilkan C++?

pemrograman


Apa arti ^>^ (baris 1) dan “%” (baris 6) dalam cuplikan kode di bawah ini:

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

Apa arti ‘^’ dalam cuplikan kode di bawah ini:

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;
}

Apa yang saya coba:

Saya mencarinya di Google tetapi sayangnya, tidak ada yang membicarakannya. Saya bahkan mempelajari beberapa tutorial tentang C++, tetapi pertanyaannya tidak terjawab.

Solusi 1

Itu dikenal sebagai penunjuk topi dan ini menunjukkan bahwa sumber daya ini adalah sampah yang dikumpulkan. Apa yang Anda lihat di sana adalah simbol Visual C++ CLI. Microsoft menyebutnya sebagai Tangani ke Operator Objek (^)[^]. Anda dapat menganggap ini sebagai bentuk penunjuk cerdas (walaupun yang mengandalkan mentalitas pengumpulan sampah), di mana objek akan dihapus ketika runtime memutuskan bahwa objek tersebut tidak lagi aktif.

[Edit]Saya melewatkan pertanyaan Anda tentang % operator. Ini setara dengan referensi yang dikelola menggunakan C++/CLI. Secara umum, jika Anda memikirkannya ^ setara dengan * di dunia ini, kalau begitu % setara dengan &.

Solusi 2

Jika Anda mencari ‘^>^’, tidak mengherankan jika Anda tidak menemukan apa pun.

Operatornya adalah ‘^’, yang berarti tipe sebelumnya adalah sampah yang dapat dikumpulkan di C++ CLI.

Karakter ‘< >‘ adalah bagian dari array deklarasi, yang menunjukkan tipe yang dikandung array. Dalam kasus Anda, ini mendefinisikan sebuah array of Strings, atau (salah), ‘array‘.

Masukkan kembali karakter ‘^’, dan Anda sudah selesai array<String^>^yang berarti serangkaian String yang dapat dikoleksi.

コメント

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