Pertanyaan yang diberi tag «pass-by-reference»

Pass by reference adalah strategi penyusunan argumen di mana lokasi variabel di memori diteruskan ke suatu fungsi, bukan salinan nilai variabel, meskipun fungsi tersebut muncul di kode sumber untuk menerima variabel itu sendiri dan bukan sebagai penunjuk ke sana.


17
Lulus dengan referensi dalam C
Jika C tidak mendukung melewati variabel dengan referensi, mengapa ini bekerja? #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; } Keluaran: $ gcc -std=c99 test.c $ a.exe i = 21

10
Apa penggunaan "ref" untuk variabel tipe referensi dalam C #?
Saya mengerti bahwa jika saya meneruskan tipe-nilai ( int,, structdll.) Sebagai parameter (tanpa refkata kunci), salinan variabel tersebut diteruskan ke metode, tetapi jika saya menggunakan refkata kunci, referensi ke variabel tersebut diteruskan, bukan yang baru. Tetapi dengan tipe referensi, seperti kelas, bahkan tanpa refkata kunci, referensi diteruskan ke metode, bukan …


15
Melewati sebuah String dengan Referensi di Jawa?
Saya terbiasa melakukan hal berikut dalam C: void main() { String zText = ""; fillString(zText); printf(zText); } void fillString(String zText) { zText += "foo"; } Dan hasilnya adalah: foo Namun, di Jawa, ini sepertinya tidak berhasil. Saya berasumsi karena Stringobjek disalin alih-alih dilewatkan oleh referensi . Saya pikir String adalah …

8
Swift: Lewati array dengan referensi?
Saya ingin meneruskan Swift saya Array account.chatske sebagai chatsViewController.chatsreferensi (sehingga ketika saya menambahkan obrolan ke account.chats, chatsViewController.chatstetap menunjuk ke account.chats). Yaitu, saya tidak ingin Swift memisahkan dua larik ketika panjangnya account.chatsberubah.

17
Nilai default ke parameter saat meneruskan referensi di C ++
Apakah mungkin untuk memberikan nilai default ke parameter suatu fungsi saat kita meneruskan parameter dengan referensi. di C ++ Misalnya, ketika saya mencoba mendeklarasikan fungsi seperti: virtual const ULONG Write(ULONG &State = 0, bool sequence = true); Ketika saya melakukan ini, itu memberikan kesalahan: kesalahan C2440: 'argumen default': tidak dapat …

6
Bagaimana melakukan ekivalen lewat referensi untuk primitif di Jawa
Kode Java ini: public class XYZ { public static void main(){ int toyNumber = 5; XYZ temp = new XYZ(); temp.play(toyNumber); System.out.println("Toy number in main " + toyNumber); } void play(int toyNumber){ System.out.println("Toy number in play " + toyNumber); toyNumber++; System.out.println("Toy number in play after increement " + toyNumber); } …

17
C ++ - meneruskan referensi ke std :: shared_ptr atau boost :: shared_ptr
Jika saya memiliki fungsi yang perlu bekerja dengan a shared_ptr, bukankah akan lebih efisien untuk memberikan referensi padanya (jadi untuk menghindari penyalinan shared_ptrobjek)? Apa saja kemungkinan efek samping yang buruk? Saya membayangkan dua kemungkinan kasus: 1) di dalam fungsi salinan dibuat dari argumen, seperti di ClassA::take_copy_of_sp(boost::shared_ptr<foo> &sp) { ... m_sp_member=sp; …

8
Daftar disahkan oleh ref - bantu saya menjelaskan perilaku ini
Lihat program berikut: 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; } } Saya berasumsi myListakan berlalu …



Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.