Condividi tramite


Convenzioni della libreria C++

La libreria di C++ obbedisce analogamente alle convenzioni come la libreria di c standard, più alcun più delimitato di seguito.

Un'implementazione è determinata latitudine in come dichiarare tipi e le funzioni della libreria di C++:

  • I nomi delle funzioni della libreria di c standard possono avere esterno # " C++„ o collegamento extern “c„.Includere l'intestazione C# del livello adeguato anziché un'entità di libreria inline.

  • Un nome di funzione membro in una classe di libreria può avere firme della funzione aggiuntive su quelle elencate in questo documento.È possibile verificare che una chiamata di funzione riportata di seguito si comporti come previsto, ma non è possibile in modo affidabile accettare l'indirizzo di una funzione del membro della guida.(Il tipo non può essere quello previsto.)

  • Una classe di libreria può avere classi di base (non virtuali) non trattate.La classe illustrato come derivata da un'altra classe possibile, infatti, essere derivata dalla classe alle altre classi non trattate.

  • Un tipo definito come un sinonimo di un certo tipo integer può corrispondere a uno di vari tipi interi.

  • Un tipo maschera di bit può essere implementato come un tipo intero o un'enumerazione.In entrambi i casi, è possibile eseguire operazioni bit per bit (come AND e OR) sui valori dello stesso tipo della maschera di bit.Gli elementi e di un tipo maschera di bit sono valori diversi da zero in modo che & è zero.

  • Una funzione di libreria che non è specifica di eccezione può generare un'eccezione arbitraria, a meno che la relativa definizione limiti chiaramente tale possibilità.

Di altra parte, esistono alcune limitazioni:

  • La libreria di c standard non utilizza macro mascherarle.Solo le firme della funzione specifiche sono riservate, non i nomi delle funzioni stessi.

  • Una classe esterna del nome della funzione di libreria non avrà aggiuntivo, non documentato, firme della funzione.È possibile in modo affidabile utilizzare il relativo indirizzo.

  • Le classi di base e virtuali descritti funzioni membro è garantita virtuali, mentre quelle descritte le operazioni non virtuale è garantita non virtuali.

  • Due tipi definiti dalla libreria di C++ sono sempre diversi a meno che tale documento in modo esplicito suggerisca in caso contrario.

  • Le funzioni fornite dalla raccolta, incluse le versioni predefinite delle funzioni sostituibili, possono generare il massimo le eccezioni elencate in qualsiasi specifica di eccezione.Nessun distruttore fornito dalla raccolta genera eccezioni.Le funzioni della libreria di c standard possono propagare un'eccezione, ad esempio quando qsort chiama una funzione di confronto che genera un'eccezione, ma non generano altrimenti le eccezioni.

Vedere anche

Riferimenti

Panoramica della libreria C++ standard

Thread safety della libreria C++ standard