Preguntas etiquetadas con pass-by-reference

Pasar por referencia es una estrategia de clasificación de argumentos mediante la cual la ubicación de una variable en la memoria se pasa a una función, en lugar de una copia del valor de la variable, aunque la función aparece en el código fuente para recibir la variable en sí en lugar de un puntero a ella.


17
Pasando por referencia en C
Si C no admite pasar una variable por referencia, ¿por qué funciona esto? #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; } Salida: $ gcc -std=c99 test.c $ a.exe i = 21



15
¿Pasar una cadena por referencia en Java?
Estoy acostumbrado a hacer lo siguiente en C: void main() { String zText = ""; fillString(zText); printf(zText); } void fillString(String zText) { zText += "foo"; } Y la salida es: foo Sin embargo, en Java, esto no parece funcionar. Supongo que porque el Stringobjeto se copia en lugar de pasar …

8
Swift: ¿Pasar matriz por referencia?
Quiero pasar mi Swift Array account.chatsa chatsViewController.chatspor referencia (para que cuando agregue un chat account.chats, chatsViewController.chatstodavía apunte a account.chats). Es decir, no quiero que Swift separe las dos matrices cuando la duración de los account.chatscambios.



17
C ++ - pasando referencias a std :: shared_ptr o boost :: shared_ptr
Si tengo una función que necesita trabajar con a shared_ptr, ¿no sería más eficiente pasarle una referencia (para evitar copiar el shared_ptrobjeto)? ¿Cuáles son los posibles efectos secundarios negativos? Visualizo dos casos posibles: 1) dentro de la función se hace una copia del argumento, como en ClassA::take_copy_of_sp(boost::shared_ptr<foo> &sp) { ... …

8
Lista aprobada por referencia: ayúdame a explicar este comportamiento
Eche un vistazo al siguiente programa: 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; } } Supuse …



7
Java: la mejor manera de pasar int por referencia
Tengo una función de análisis que analiza una longitud codificada de un búfer de bytes, devuelve la longitud analizada como un int y toma un índice en el búfer como un argumento entero. Quiero que la función actualice el índice de acuerdo con lo que se analiza, es decir, quiero …


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.