Questo paragrafo è in codice completo 2 all'indietro, o lo sto fraintendendo?

8

Nel capitolo 13, quando si parla di puntatori, c'è un paragrafo:

Sometimes, however, you would like to have the semantics of pass by reference—that is, that the passed object should not be altered—with the implementation of pass by value—that is, passing the actual object rather than a copy.

Sembra che l'autore abbia commesso un errore e abbia mescolato i due. È vero o non capisco cosa sta dicendo correttamente?

    
posta mowwwalker 27.10.2012 - 04:46
fonte

2 risposte

12

Hai ragione e questo è già nella pagina errata del libro.

Reference Should Be Value On page 333, Change: "Sometimes, however, you would like to have the semantics of a pass by reference" To "Sometimes, however, you would like to have the semantics of a pass by value"

Value Should Be Reference On page 333, Change: "with the implementation of a pass by value" To:"with the implementation of a pass by reference"

    
risposta data 27.10.2012 - 12:35
fonte
3

Sì, sembra confuso. Passa e aggiungi un po 'di più, e ha senso.

A volte ti piacerebbe avere l'implementazione di passare per valore - cioè l'oggetto passato è una copia e le modifiche non hanno effetto sull'originale - con la semantica del passaggio per riferimento - cioè l'oggetto stesso non è passato.

Questo sarebbe qualcosa come un parametro di riferimento const. Questo ti permetterebbe di avere una struttura grande, mutevole, che fosse, nel contesto di una particolare funzione, immutabile.

    
risposta data 27.10.2012 - 05:33
fonte

Leggi altre domande sui tag