Résumé des opérateurs binaires (C++)

De Appmethod Topics
Aller à : navigation, rechercher

Remonter à Opérateurs binaires - Index


Voici les opérateurs binaires de Appmethod C++ :

Opérateurs arithmétiques

Pour de plus amples informations, voir Opérateurs arithmétiques (unaires).

Opérateur arithmétique Description Opérateur arithmétique Description

+

Plus binaire (addition)

-

Moins binaire (soustraction)

*

Multiplication

/

Division

%

Reste (modulo)

Opérateurs bit à bit

Pour de plus amples informations, voir Opérateurs bit à bit.

Opérateur bit à bit Description Opérateur bit à bit   Description

<<

Décalage gauche

>>

Décalage droite

&

AND bit-à-bit

^

XOR bit à bit (OU exclusif)

|

OR inclusif bit à bit

Opérateurs logiques

Pour de plus amples informations, voir Opérateurs logiques.

Opérateur logique Description

&&

AND logique

Opérateurs d'affectation

Pour de plus amples informations, voir :

Opérateur d'affectation Description Opérateur d'affectation Description

=

Affectation

*=

Affectation produit

/=

Affectation quotient

%=

Affectation reste (modulo)

+=

Affectation somme

-=

Affectation différence

<<=

Affectation décalage gauche

>>=

Affectation décalage droit

&=

Affectation AND bit à bit

^=

Affectation XOR bit à bit

|=

Affectation OR bit à bit

Opérateurs relationnels

Pour de plus amples informations, voir :

Opérateur relationnel Description Opérateur relationnel Description

<

Inférieur à

>

Supérieur à

<=

Inférieur ou égal à

>=

Supérieur ou égal à

==

Egal à

!=

Différent

Opérateurs de sélection de composants

Pour de plus amples informations, voir Surcharge de l'opérateur d'accès aux membres de classe ->.

Opérateur de sélection de composant Description

.

Sélecteur de composant direct

->

Sélecteur de composant indirect

Opérateurs de membre de classe

Pour de plus amples informations, voir :

Opérateur de membre de classe Description

::

Accès/résolution de portée

Utilisez l'opérateur d'accès (ou de résolution) de portée :: (deux deux-points) pour accéder à un nom (ou durée de fichier) global même s'il est masqué par une redéclaration locale de même nom.

.*

Déréférencer un pointeur sur un membre de classe

Utilisez l'opérateur .* pour déréférencer les pointeurs sur des membres de classe.

Le premier opérande doit être un type de classe. Si le type du premier opérande est le type de classe TFoo, ou une classe dérivée du type de classe TFoo, le deuxième opérande doit être un pointeur sur un membre d'un type de classe TFoo.

->*

Déréférencer un pointeur sur un membre de classe

Utilisez l'opérateur ->* pour déréférencer les pointeurs sur des membres de classe.

Le premier opérande doit être un pointeur sur un type de classe. Si le type du premier opérande est un pointeur sur le type de classe TFoo, ou un pointeur sur une classe dérivée du type de classe TFoo, le deuxième opérande doit être un pointeur sur un membre du type de classe TFoo.

Exemple

Les opérateurs pointeur-sur-membre sont probablement mieux expliqués par un exemple, tel que celui-ci :

#include <iostream>

class TFoo {
public:
  void func() {
    std::cout << __func__ << std::endl;
  }
  int data;
};

void (TFoo::*pmfn)() = &TFoo::func;
int TFoo::*pmd = &TFoo::data;

int main() {
  TFoo foo;
  TFoo *pfoo = &foo;

  // Call func with foo/pfoo
  (foo.*pmfn)();   // With object
  (pfoo->*pmfn)(); // With pointer

  // Set/read data with object and ptr respectively
  foo.*pmd = 123;
  std::cout << "data=" << pfoo->*pmd << std::endl;

  return 0;
}

Opérateurs conditionnels

Pour de plus amples informations, voir Opérateurs conditionnels.

Opérateur conditionnel Description

?:

Réellement un opérateur ternaire. Par exemple : a ? x : y signifie "if a then x else y".

Opérateur virgule

Pour de plus amples informations, voir Opérateur virgule.

Opérateur virgule Description

,

Evaluer

Autres opérateurs spécifiques au C++

Voir aussi