przekazana wartość to „przekazywanie w jedną stronę”, dzięki czemu modyfikacje przekazanej wartości wewnątrz funkcji odbierającej (lub innej jednostki, takiej jak proces itp.) nie są zwracane.
Zawsze myślałem, że Java jest przekazywana przez odniesienie . Widziałem jednak kilka postów na blogu (na przykład ten blog ), które twierdzą, że tak nie jest. Nie sądzę, że rozumiem ich rozróżnienie. Jakie jest wyjaśnienie?
Typy prymitywne (liczba, ciąg itp.) Są przekazywane przez wartość, ale obiekty są nieznane, ponieważ oba mogą być przekazywane przez wartość (w przypadku, gdy uważamy, że zmienna przechowująca obiekt jest w rzeczywistości odniesieniem do obiektu ) i przekazywany przez odniesienie (gdy weźmiemy pod uwagę, że zmienna obiektu zawiera sam obiekt). Chociaż …
Nie rozumiem, gdzie finalsłowo kluczowe jest naprawdę przydatne, gdy jest używane w parametrach metody. Jeśli wykluczymy korzystanie z anonimowych klas, czytelność i zamierzone deklaracje, wydaje mi się to prawie bezwartościowe. Wymuszanie, że niektóre dane pozostają stałe, nie jest tak silne, jak się wydaje. Jeśli parametr jest prymitywny, nie będzie miał …
1) Czy gdy tablica jest przekazywana jako argument do metody lub funkcji, jest przekazywana przez odwołanie lub wartość? 2) Czy podczas przypisywania tablicy do zmiennej nowa zmienna jest odniesieniem do oryginalnej tablicy, czy jest to nowa kopia? Co z tym zrobić: $a = array(1,2,3); $b = $a; Czy $bjest odniesienie …
Jestem nowy w programowaniu w C ++, ale mam doświadczenie w Javie. Potrzebuję wskazówek, jak przekazywać obiekty do funkcji w C ++. Czy muszę przekazywać wskaźniki, referencje lub wartości inne niż wskaźnik i inne? Pamiętam, że w Javie nie ma takich problemów, ponieważ przekazujemy tylko zmienną, która zawiera odniesienie do …
W języku C # zawsze myślałem, że zmienne nieprymitywne były przekazywane przez referencję, a prymitywne wartości przekazywane przez wartość. Zatem przekazując do metody dowolny nieprymitywny obiekt, wszystko, co zrobiono obiektowi w metodzie, spowodowałoby przekazanie obiektu. (C # 101 rzeczy) Zauważyłem jednak, że kiedy mija obiekt System.Drawing.Image, wydaje się, że tak …
Czy w C ++ lepiej jest przekazywać wartość lub przechodzić przez stałe odwołanie? Zastanawiam się, która jest lepsza praktyka. Zdaję sobie sprawę, że przekazywanie przez stałe odwołanie powinno zapewnić lepszą wydajność w programie, ponieważ nie tworzysz kopii zmiennej.
Rozumiem, że jeśli mijam typu wartość ( int, struct, itd.) Jako parametr (bez refhasła), kopia tej zmiennej jest przekazywany do metody, ale jeśli mogę użyć refsłowa kluczowego odniesienie do tej zmiennej jest przekazywana, nie nowy. Ale w przypadku typów referencyjnych, takich jak klasy, nawet bez refsłowa kluczowego, referencja jest przekazywana …
class D { public static void main(String args[]) { Integer b2=128; Integer b3=128; System.out.println(b2==b3); } } Wynik: false class D { public static void main(String args[]) { Integer b2=127; Integer b3=127; System.out.println(b2==b3); } } Wynik: true Uwaga: liczby od -128 do 127 są prawdziwe.
Jeśli mam funkcję, która musi współpracować z a shared_ptr, czy nie byłoby bardziej wydajne przekazanie jej odwołania do niej (aby uniknąć kopiowania shared_ptrobiektu)? Jakie są możliwe złe skutki uboczne? Wyobrażam sobie dwa możliwe przypadki: 1) wewnątrz funkcji tworzona jest kopia argumentu, jak w ClassA::take_copy_of_sp(boost::shared_ptr<foo> &sp) { ... m_sp_member=sp; //This will …
Jestem naprawdę nowy w Swift i właśnie przeczytałem, że klasy są przekazywane przez referencje, a tablice / ciągi itp. Są kopiowane. Czy przekazywanie przez referencję jest takie samo jak w Objective-C lub Javie, w których faktycznie przekazuje się referencję „a”, czy też jest to właściwe przekazywanie przez referencję?
Jak mogę przekazać liczbę całkowitą przez odwołanie w Pythonie? Chcę zmodyfikować wartość zmiennej, którą przekazuję do funkcji. Czytałem, że wszystko w Pythonie jest przekazywane przez wartość, ale musi być prosta sztuczka. Na przykład w Javie można przekazać typów referencyjnych Integer, Longitp Jak mogę przekazać liczbę całkowitą do funkcji przez odwołanie? …
Jeśli przekażę ramkę danych do funkcji i zmodyfikuję ją wewnątrz funkcji, czy jest to przekazanie przez wartość czy przekazanie przez odwołanie? Uruchamiam następujący kod a = pd.DataFrame({'a':[1,2], 'b':[3,4]}) def letgo(df): df = df.drop('b',axis=1) letgo(a) wartość anie zmienia się po wywołaniu funkcji. Czy to oznacza, że jest to wartość przekazana? Wypróbowałem …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.