Que signifient ces opérateurs dans l’extrait de code généré par Visual C++ ?

la programmation


Que signifient ^>^ (ligne 1) et “%” (ligne 6) dans l’extrait de code ci-dessous :

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

Que signifie « ^ » dans l’extrait de code ci-dessous :

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

Ce que j’ai essayé :

Je l’ai cherché sur Google mais malheureusement, personne n’en a parlé. J’ai même étudié quelques tutoriels sur le C++, mais les questions n’ont pas été abordées.

Solution 1

C’est ce qu’on appelle le pointeur chapeau et cela indique que cette ressource est récupérée. Ce que vous regardez est un symbole Visual C++ CLI. Microsoft appelle cela le Handle vers l’opérateur d’objet (^)[^]. Vous pouvez considérer cela comme une forme de pointeur intelligent (bien qu’il repose sur une mentalité de garbage collection), où l’objet est supprimé lorsque le moteur d’exécution décide que l’objet n’est plus actif.

Solution 2

Si vous recherchez ‘^>^’, il n’est pas surprenant que vous ne trouviez rien.

L’opérateur est « ^ », ce qui signifie que le type précédent est récupérable dans la CLI C++.

Les caractères ‘< >‘ font partie du array déclaration, désignant un type que le tableau contient. Dans votre cas, il s’agit de définir un array of Strings, ou (à tort), ‘array‘.

Remettez les caractères « ^ » et vous avez array<String^>^ce qui signifie un tableau collectable de chaînes collectables.

コメント

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