Articles of pass by reference

Perché il supporto java non passa per riferimento come C ++

Ho letto ogni punto in cui quel primitivo datatype e riferimento ad oggetti sono passati per valore? Ho provato a cercare in Google perché il supporto java non passa per riferimento, ma Java non supporta solo il passaggio per riferimento e non ho trovato alcun motivo dietro di esso . Perché non puoi passare il […]

Java sta davvero superando gli oggetti in base al valore?

Possibile duplicato: Java passa per riferimento? public class myClass{ public static void main(String[] args){ myObject obj = new myObject(“myName”); changeName(obj); System.out.print(obj.getName()); // This prints “anotherName” } public static void changeName(myObject obj){ obj.setName(“anotherName”); } } So che Java passa per valore, ma perché passa obj per riferimento nell’esempio precedente e lo cambia?

Java non è MAI un riferimento pass-by, giusto? … giusto?

Possibile duplicato: Java è “pass-by-reference”? Ho trovato un metodo Java insolito oggi: private void addShortenedName(ArrayList voiceSetList, String vsName) { if (null == vsName) vsName = “”; else vsName = vsName.trim(); String shortenedVoiceSetName = vsName.substring(0, Math.min(8, vsName.length())); //SCR10638 – Prevent export of empty rows. if (shortenedVoiceSetName.length() > 0) { if (!voiceSetList.contains(“#” + shortenedVoiceSetName)) voiceSetList.add(“#” + shortenedVoiceSetName); […]

Java: come passare byte per riferimento?

Puoi farlo in. NET usando la parola chiave “ref”. C’è un modo per farlo in Java?

Java passa per riferimento?

Java supporta davvero il passaggio per riferimento? In caso contrario, perché abbiamo l’operatore == per trovare due oggetti con lo stesso riferimento?

Sovraccarico delle funzioni in base al valore rispetto al riferimento Const

Dichiara qualcosa di simile al seguente void foo(int x) { std::cout << "foo(int)" << std::endl; } void foo(const int &x) { std::cout << "foo(const int &)" << std::endl; } ha mai senso? Come potrebbe il chiamante essere in grado di distinguere tra loro? ho provato foo(9); // Compiler complains ambiguous call. int x = 9; […]

Java: il modo migliore per passare int per riferimento

Ho una funzione di analisi che analizza una lunghezza codificata da un buffer di byte, restituisce la lunghezza analizzata come un int e prende un indice nel buffer come argomento intero. Voglio che la funzione aggiorni l’indice in base a ciò che viene analizzato, ovvero voglio passare quell’indice per riferimento. In C vorrei solo passare […]

C ++ – passaggio di riferimenti a std :: shared_ptr o boost :: shared_ptr

Se ho una funzione che deve funzionare con un shared_ptr , non sarebbe più efficiente passarci un riferimento (in modo da evitare di copiare l’object shared_ptr )? Quali sono i possibili effetti collaterali negativi? Immagino due possibili casi: 1) all’interno della funzione viene fatta una copia dell’argomento, come in ClassA::take_copy_of_sp(boost::shared_ptr &sp) { … m_sp_member=sp; //This […]

C ++ passa un array per riferimento

è permesso passare una matrice per riferimento? void foo(double& *bar) Sembra che il mio compilatore dica no. Perché? Qual è il modo corretto per passare un array per riferimento? O un lavoro in giro? Ho un argomento dell’array che il mio metodo dovrebbe modificare e che dovrei recuperare in seguito. In alternativa, potrei rendere questo […]

Perché questo object non viene passato per riferimento quando si assegna qualcos’altro?

So che in JS gli oggetti vengono passati per riferimento, ad esempio: function test(obj) { obj.name = ‘new name’; } var my_obj = { name: ‘foo’ }; test(my_obj); alert(my_obj.name); // new name Ma perché il sotto non funziona: function test(obj) { obj = {}; } var my_obj = { name: ‘foo’ }; test(my_obj); alert(my_obj.name); // […]