【解決方法】C++ で生成されたビジュアル コード スニペットでは、これらの演算子は何を意味しますか?

プログラミングQA


以下のコード スニペットの ^>^ (1 行目) と「%」 (6 行目) は何を意味しますか:

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

以下のコード スニペットの「^」は何を意味しますか:

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

私が試したこと:

グーグルで調べてみましたが、残念ながら誰もそれについて話していませんでした。 C++ に関するチュートリアルもいくつか勉強しましたが、質問は解決されませんでした。

解決策 1

これはハット ポインターとして知られており、このリソースがガベージ コレクションされたものであることを示します。 ここで見ているのは、Visual C++ CLI シンボルです。 マイクロソフトではこれを オブジェクト演算子のハンドル (^)[^]。 これは、スマート ポインター (ガベージ コレクションの考え方に依存するものではありますが) の一種と考えることができ、オブジェクトがアクティブでなくなったとランタイムが判断すると、オブジェクトが削除されます。

[Edit]~についての質問を見逃してしまいました % オペレーター。 これは、C++/CLI を使用したリファレンスと同等のマネージドです。 一般的に考えると、 ^ と同等である * この世界では、それでは % と同等です &

解決策 2

「^>^」を検索している場合、何も見つからないのは当然のことです。

演算子は「^」です。これは、前述の型が C++ CLI でガベージ コレクタブルであることを意味します。

「< >」文字は、 array 配列に含まれる型を示す宣言。 あなたの場合、それは array of Strings、または (誤って) ‘array‘。

「^」文字を元に戻すと、次のようになります。 array<String^>^、これは収集可能な文字列の収集可能な配列を意味します。

コメント

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