Partager via


Conventions de bibliothèque C++

La bibliothèque C++ obéit plus ou moins les mêmes conventions que la bibliothèque C standard, plus un plus présentées ici.

Une implémentation une certaine latitude dans la même manière qu'il déclare des types et des fonctions dans la bibliothèque C++ :

  • Les noms des fonctions à la bibliothèque C standard peuvent avoir extern # " C++ » ou la liaison extern « C ».Incluez l'en-tête C de niveau approprié au lieu de déclarer une entité de bibliothèque inline.

  • Un nom de fonction membre dans une classe de bibliothèque peut avoir les signatures de la fonction supplémentaires sur ceux répertoriés dans ce document.vous pouvez être sûr qu'un appel de fonction décrit ici se comporte comme prévu, mais vous ne pouvez pas de manière fiable prendre l'adresse d'une fonction membre de bibliothèque.(Ne pas être le type peut ce que vous attendez.)

  • une classe de bibliothèque peut avoir les classes de base (non virtuelles) non documentées.Une classe documentée comme dérivée d'une autre classe peut, en fait, être dérivée de cette classe via d'autres classes non documentées.

  • Un type défini comme un synonyme d'un certain type entier peut être identique à un plusieurs entier différent types.

  • Un type de masque de bits peut être implémenté comme un type entier ou une énumération.Dans les deux cas, vous pouvez exécuter des opérations de bits (telles qu' AND et OR) sur les valeurs du même type de masque de bits.Les éléments A et B d'un type de masque de bits sont des valeurs différentes de zéro de sorte qu' A & B est zéro.

  • Une fonction de bibliothèque qui n'a pas de spécifications d'exception peut lever une exception arbitraire, à moins que sa définition restreigne clairement une telle que.

En revanche, il existe quelques restrictions :

  • La bibliothèque C standard n'utilise pas de macro masquante.Seuls les signatures de la fonction spécifiques ne sont réservées, pas les noms de fonctions eux-mêmes.

  • Un nom de fonction de bibliothèque à l'extérieur d'une classe n'aura pas supplémentaire, non documenté, signatures de la fonction.vous pouvez de manière fiable prendre son adresse.

  • Les classes de base et aussi virtuel décrit par fonctions membres sont assurément virtuels, tandis que celles décrites non virtuelles sont assurément non virtuelles.

  • Deux types définis par la bibliothèque C++ sont toujours différents à moins que ce document suggère explicitement sinon.

  • Les fonctionnalités fournies par la bibliothèque, notamment les versions par défaut des fonctions remplaçables, peuvent lever au plus ces exceptions répertoriées dans n'importe quelle spécification d'exception.Aucun destructeurs fournis par les lever des exceptions de bibliothèque.Les fonctions de la bibliothèque C standard peuvent se propager une exception, comme lorsque qsort appelle une fonction de comparaison qui lève une exception, mais elles ne lèvent pas autrement des exceptions.

Voir aussi

Référence

Vue d'ensemble de la bibliothèque C++ standard

Sécurité des threads dans la bibliothèque C++ standard