Domande taggate «pass-by-reference»

Passa per riferimento è una strategia di marshalling degli argomenti in base alla quale la posizione di una variabile in memoria viene passata a una funzione, piuttosto che a una copia del valore della variabile, sebbene la funzione appaia nel codice sorgente per ricevere la variabile stessa piuttosto che un puntatore ad essa.


17
Passando per riferimento in C
Se C non supporta il passaggio di una variabile per riferimento, perché funziona? #include <stdio.h> void f(int *j) { (*j)++; } int main() { int i = 20; int *p = &i; f(p); printf("i = %d\n", i); return 0; } Produzione: $ gcc -std=c99 test.c $ a.exe i = 21



15
Passare una stringa per riferimento in Java?
Sono abituato a fare quanto segue in C: void main() { String zText = ""; fillString(zText); printf(zText); } void fillString(String zText) { zText += "foo"; } E l'output è: foo Tuttavia, in Java, questo non sembra funzionare. Presumo perché l' Stringoggetto viene copiato anziché passato per riferimento . Ho pensato …

8
Swift: passare l'array per riferimento?
Voglio passare la mia Swift Array account.chatsa chatsViewController.chatsper riferimento (in modo che quando aggiungo una chat per account.chats, chatsViewController.chatsancora punti a account.chats). Cioè, non voglio che Swift separi i due array quando la lunghezza delle account.chatsmodifiche.



17
C ++ - passaggio di riferimenti a std :: shared_ptr o boost :: shared_ptr
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) { …

8
Elenco passato da ref - aiutami a spiegare questo comportamento
Dai un'occhiata al seguente programma: class Test { List<int> myList = new List<int>(); public void TestMethod() { myList.Add(100); myList.Add(50); myList.Add(10); ChangeList(myList); foreach (int i in myList) { Console.WriteLine(i); } } private void ChangeList(List<int> myList) { myList.Sort(); List<int> myList2 = new List<int>(); myList2.Add(3); myList2.Add(4); myList = myList2; } } Ho pensato …



7
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 int e prende un indice nel buffer come un intero arg. Voglio che la funzione aggiorni l'indice in base a ciò che viene analizzato, cioè voglio passare quell'indice per riferimento. …

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.