Le signe "^" en C++

Résolu
pofipofo Messages postés 24 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 5 juillet 2007 - 3 mai 2007 à 13:57
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 3 mai 2007 à 18:16
Bonjour,
j'ai un programme avec le signe ^.
Je sais que c'est un opérateur logique XOR bit à bit, mais...
et oui y'a un mais sinon je ne serai pas là!
...mais dans le code suivant, je comprends pas trop pourquoi on fait un xor :

Object^ CFormulaParser_::Calculation(String ^strFormula, Boolean& bErr,

int& ErrorPosition, String ^&Errortext,Boolean bStrip)
{

int nPosition;
String ^strCharacter=
"";
Object^ result=0;
Alors si qq'un peut m'aider...merci!
Je vous demande pas de m'expliquer le code bien sur!
Il n'y a pas assez d'info ici!
Mais juste me dire à quoi peut servir ce signe!

Merci à tous
Pof

Qui vole un boeuf est vachement fort!

7 réponses

DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
3 mai 2007 à 14:57
Si mes souvenirs sont bons il indique au compilo que l'allocation et la désallocation de la mémoire seront gérées par le garbage collector.

Shell
3
pofipofo Messages postés 24 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 5 juillet 2007
3 mai 2007 à 16:35
haaaaaaaaaaaaaaaaaaaa!
j'ai trouvé!!!

une classe managée veut simplement dire que l'objet est pris en charge par le CLR. Son allocation (avec gcnew) et sa désallocation (utilisant soit delete explicitement, soit utilisant le garbage collector) est donc entièrement gérée (managed in english) par le CLR. Microsoft a essayé de rayer le mot managé de son vocabulaire pour éviter l'abus de langage (pour parler par exemple de C++/CLI plutôt que de C++ managé).

Cet objet est alloué sur le tas (heap) managé par l'intermédiaire de gcnew et est référencé grâce à un handle.
On utilise l'opérateur hat (^) pour définir un handle vers un objet managé qui est en fait une référence vers cet objet managé. Attention ce n'est pas un pointeur. Un handle est une référence sur un objet managé sur le tas (heap) managé, alors que les pointeurs pointent vers une zone mémoire.

String ^ str = gcnew String("Ma chaîne managée est alloué sur le heap managé");

La désallocation est automatique grâce au garbage collector.
Le garbage collector est un mécanisme qui permet à un ordinateur de détecter et de supprimer les objets managés du heap qui ne sont plus référencés par une application.
Le garbage collector du framework .net ajoute la fonctionnalité intéressante de compacter la mémoire après libération des objets managés inutilisés.
Le garbage collector est une révolution de programmation, car il annonce la fin des fuites mémoires, qui font rager tout développeur. Un développeur n'a plus à se soucier d'appeler la destruction de ses objets avec l'opérateur delete.

merci!
tu m'as mis sur la bonne voie!!!!!!

++ all
Pof

Qui vole un boeuf est vachement fort!
3
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
3 mai 2007 à 14:33
As tout hasard ton code ne serait t'il pas du C# ?

Shell
0
pofipofo Messages postés 24 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 5 juillet 2007
3 mai 2007 à 14:46
ha non!
tu m'as mis le doute mais non c'est bien un .cpp!
mais pourquoi?
c'est quoi ce signe en C#?

Qui vole un boeuf est vachement fort!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
3 mai 2007 à 14:53
Je ne serais pas te dire a quoi sert ce ^ sert mais de mémoire ca a avoir avec le CLR.

Shell
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
3 mai 2007 à 18:09
"Le garbage collector est une révolution de programmation, car il
annonce la fin des fuites mémoires, qui font rager tout développeur."

Je ne crois pas que Brunews sera content de lire un truc pareil. :P

C++ (@++)
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 mai 2007 à 18:16
si si, des "developpeurs" vb et autres interprétés (joujous avec lesquels on a jamais produit le moindre logiciel).

ciao...
BruNews, MVP VC++
0
Rejoignez-nous