Molti linguaggi di programmazione, come C++, sono ricorsivi nell'ordine in cui vengono eseguite le operazioni (non sto facendo alcuna implicazione su come il codice è effettivamente implementato dal compilatore qui). Le operazioni composte composte da operazioni ben definite sono a loro volta ben definite, poiché ogni operazione viene eseguita su base last-in, first-out.
Post-incremento restituisce il valore della variabile da incrementare prima dello incrementandolo, pertanto l'operazione return
riceve tale valore. Nessuna definizione speciale di questo comportamento deve essere fatta.
fonte
2010-03-04 18:28:59
Buona spiegazione, grazie. – patros
Se 'int' non è un' int', ma un 'MyClassWithOverloadedOperators', allora hai solo torto. –
@Pavel: non sono d'accordo. Una classe con un operatore post-incremento sovraccarico che non implementa la semantica post-incremento corretta è errata. – Void