il valore di passaggio è un "passaggio unidirezionale" in modo che le modifiche del valore passato all'interno della funzione ricevente (o altre entità come il processo, ecc.) non vengano restituite.
Ho sempre pensato che Java fosse pass-per-riferimento . Tuttavia, ho visto un paio di post sul blog (ad esempio, questo blog ) che affermano che non lo è. Non credo di capire la distinzione che stanno facendo. Qual è la spiegazione?
I tipi primitivi (numero, stringa, ecc.) Vengono passati per valore, ma gli oggetti sono sconosciuti, poiché possono essere entrambi passati per valore (nel caso in cui consideriamo che una variabile che contiene un oggetto sia in realtà un riferimento all'oggetto ) e passati per riferimento (se si considera che la …
Non riesco a capire dove la finalparola chiave sia davvero utile quando viene utilizzata sui parametri del metodo. Se escludiamo l'uso di classi anonime, leggibilità e dichiarazione di intenti, mi sembra quasi inutile. Applicare che alcuni dati rimangano costanti non è così forte come sembra. Se il parametro è una …
1) Quando un array viene passato come argomento a un metodo o a una funzione, viene passato per riferimento o per valore? 2) Quando si assegna un array a una variabile, la nuova variabile è un riferimento all'array originale o è una nuova copia? Che ne dici di fare questo: …
Sono nuovo nella programmazione C ++, ma ho esperienza in Java. Ho bisogno di una guida su come passare oggetti alle funzioni in C ++. Devo passare puntatori, riferimenti o valori senza puntatore e senza riferimento? Ricordo che in Java non ci sono problemi del genere poiché passiamo solo la …
In C #, ho sempre pensato che le variabili non primitive fossero passate per riferimento e i valori primitivi passati per valore. Quindi quando si passa a un metodo qualsiasi oggetto non primitivo, tutto ciò che viene fatto sull'oggetto nel metodo influenzerebbe l'oggetto che viene passato. (Roba C # 101) …
È meglio in C ++ passare per valore o passare per riferimento costante? Mi chiedo quale sia la migliore pratica. Mi rendo conto che passare per riferimento costante dovrebbe fornire prestazioni migliori nel programma perché non si sta facendo una copia della variabile.
Capisco che se passo un valore-tipo ( int, structecc.) Come parametro (senza la refparola chiave), una copia di quella variabile viene passata al metodo, ma se uso la refparola chiave viene passato un riferimento a quella variabile, non uno nuovo. Ma con tipi di riferimento, come le classi, anche senza …
class D { public static void main(String args[]) { Integer b2=128; Integer b3=128; System.out.println(b2==b3); } } Produzione: false class D { public static void main(String args[]) { Integer b2=127; Integer b3=127; System.out.println(b2==b3); } } Produzione: true Nota: i numeri tra -128 e 127 sono veri.
Se ho una funzione che deve funzionare con a shared_ptr, non sarebbe più efficiente passarle un riferimento (in modo da evitare di copiare l' shared_ptroggetto)? Quali sono i possibili effetti collaterali negativi? Immagino due possibili casi: 1) all'interno della funzione viene creata una copia dell'argomento, come in ClassA::take_copy_of_sp(boost::shared_ptr<foo> &sp) { …
Sono davvero nuovo di Swift e ho appena letto che le classi vengono passate per riferimento e gli array / stringhe ecc. Vengono copiati. Il passaggio per riferimento è allo stesso modo di Objective-C o Java in cui si passa effettivamente un riferimento "a" o è corretto passare per riferimento?
Come posso passare un numero intero per riferimento in Python? Voglio modificare il valore di una variabile che sto passando alla funzione. Ho letto che tutto in Python è passato per valore, ma deve esserci un trucco facile. Ad esempio, in Java è possibile passare i tipi di riferimento di …
In C, il prototipo per la funzione di valore assoluto (che accetta un float) è float fabsf( float ); Perché questo prototipo non accetta un valore costante, come questo: float fabsf( float const ); fabsf non cambierà il valore dell'input, vero? Se ho una funzione che accetta un input e …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.