Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Langage C++
  3. Opérations
Extrait - Langage C++ De l'héritage C au C++ moderne (avec programmes d'illustration) (2e édition)
Extraits du livre
Langage C++ De l'héritage C au C++ moderne (avec programmes d'illustration) (2e édition) Revenir à la page d'achat du livre

Opérations

Hérité du C

1. Notion d’expression

Dans le code informatique, tout élément (ou ensemble d’éléments) qui fait l’objet d’une évaluation numérique est appelé une expression :

a + b, a / b, a = b, &b, !b sont des expressions.

Dans ces expressions +, /, =, & et ! sont des opérateurs et les variables a et b sont les opérandes.

Ces combinaisons de variables avec des opérateurs sont appelées des expressions plutôt que des opérations, car il n’y a pas que des opérateurs arithmétiques. De plus, une valeur constante, une variable ou un appel de fonction seuls sont également considérés comme des expressions. Ce sont des expressions élémentaires. Les expressions qui font appel à des opérateurs et plusieurs arguments sont dites expressions composées.

La valeur numérique d’une expression, composée ou élémentaire, est le résultat de l’expression elle-même. S’il s’agit d’une opération arithmétique ou d’une affectation, la valeur numérique de l’expression est le résultat de cette opération. S’il s’agit d’un appel de fonction, c’est la valeur de retour de la fonction. L’expression vaut cette valeur, elle est cette valeur, et à ce titre une expression peut être intégrée dans une expression plus large, dans une affectation ou encore comme opérande dans une opération.

2. Opérations arithmétiques

Les opérateurs arithmétiques sont les suivants :

+ (plus)  : le résultat de l’expression a+b est la somme.

- (moins)  : le résultat de l’expression a-b est la soustraction.

* (multiplier) : le résultat de l’expression...

Apports C++

1. Surcharger les opérateurs

Le C++ donne la possibilité de redéfinir le fonctionnement de la plupart des opérateurs. C’est ce qui est opéré dans la classe iostream à propos des opérateurs << et >>. Ils servent normalement à des décalages de bits dans des octets, mais dans cette classe leur fonctionnement est redéfini afin de servir à la sortie ou l’entrée de texte dans des fichiers, stdout avec cout<< et stdin avec cin>>. Autre exemple : l’addition, initialement réservée à l’addition des nombres. L’opérateur + peut être employé pour additionner d’autres types d’éléments : des structures, des chaînes de caractères ou des objets. L’étude de la surcharge des opérateurs se trouve détaillée au chapitre Classes.

2. La bibliothèque <random>

C++ fournit la bibliothèque standard random. Cette bibliothèque assez sophistiquée réunit plusieurs classes pour obtenir des nombres aléatoires de qualité selon différentes approches. La bibliothèque s’organise autour de deux types de classes :

  • Des classes assurent la génération des nombres avec plusieurs moteurs de nature différente.

  • D’autres classes gèrent la distribution selon plusieurs lois mathématiques (uniformes, de Bernoulli, de Poisson, normales).

Le choix du moteur de génération est en général dicté par des considérations de rapidité ou d’optimisation mémoire. Parmi les algorithmes proposés, nous trouvons :

  • default_random_engine

  • discard_block_engine

  • independant_bits_engine

  • knuth_b

  • linear_congruential_engine

  • mersenne_twister_engine

  • subtract_with_carry_engine

  • (...)...