Condividi tramite


Punti di sequenza C++

Un'espressione può modificare solo una volta il valore di un oggetto tra “punti di sequenza consecutivi.„

Specifici di Microsoft

La definizione di linguaggio C++ attualmente non specifica i punti di sequenza.Microsoft C++ vengono utilizzati gli stessi punti di sequenza ANSI C per qualsiasi espressione che comporta l'uso degli operatori c# e non comporta l'uso degli operatori di overload.Quando gli operatori sono sottoposti a overload, la modifica di semantica dall'operatore che ordina per l'ordinamento delle chiamate di funzione.Microsoft C++ vengono utilizzati i seguenti punti di sequenza:

  • Operando sinistro dell'operatore AND logico (&&).L'operando sinistro dell'operatore AND logico completamente viene valutato e tutti gli effetti collaterali viene completata prima di continuare.Non è garantito che l'operando dell'operatore AND logico verrà valutato.

  • Operando sinistro dell'operatore OR logico (||).L'operando sinistro dell'operatore OR logico completamente viene valutato e tutti gli effetti collaterali viene completata prima di continuare.Non è garantito che l'operando dell'operatore OR logico verrà valutato.

  • Operando sinistro dell'operatore virgola.L'operando sinistro dell'operatore virgola completamente viene valutato e tutti gli effetti collaterali viene completata prima di continuare.Entrambi gli operandi dell'operatore virgola vengono sempre valutate.

  • operatore di chiamata di funzione.L'espressione di chiamata di funzione e tutti gli argomenti di una funzione, inclusi gli argomenti predefiniti, vengono valutati e tutti gli effetti collaterali vengono completati prima della voce alla funzione.Non esiste un determinato ordine di valutazione tra gli argomenti o l'espressione di chiamata di funzione.

  • Primo operando dell'operatore condizionale.Il primo operando dell'operatore condizionale completamente viene valutato e tutti gli effetti collaterali viene completata prima di continuare.

  • La fine di un'espressione di inizializzazione completata, ad esempio la fine di un'inizializzazione in un'istruzione di dichiarazione.

  • Espressione di espressione.Le istruzioni di espressione sono costituiti da un'espressione facoltativa seguita da un punto e virgola (;).L'espressione completamente viene valutata per i relativi effetti collaterali.

  • L'espressione di controllo in un'istruzione di selezione (se l'opzione o).L'espressione viene valutata completamente e tutti gli effetti collaterali viene completata prima che il dipendente di codice alla selezione venga eseguito.

  • L'espressione di controllo di un tempo o esegue l'istruzione.L'espressione viene valutata completamente e tutti gli effetti collaterali viene completata prima delle istruzioni nell'iterazione successiva dell'attimo o un ciclo viene eseguito.

  • Ciascuna delle espressioni di un oggetto per l'istruzione.Ogni espressione completamente viene valutata e tutti gli effetti collaterali viene completata prima di passare all'espressione seguente.

  • l'espressione in un'istruzione return.L'espressione viene valutata completamente e tutti gli effetti collaterali viene completata prima che venga restituito alla funzione chiamante.

Vedere anche

Riferimenti

Semantica delle espressioni