Bir sınıf özniteliğinin içinde hızlı bir yapıya sahip ve struct nesnesini kopyaladığımda, kopyalanan veya referans olarak geçirilen sınıf özniteliği mi?Yapı içindeki hızlı sınıflar, ödev sırasında kopya ile mi iletilir?
5
A
cevap
12
Referansı geçti. Bunu test edebilirsin. Bildirin: Sonra
class A{}
struct B { let a = A()}
:
let b = B()
print("A = \(unsafeAddressOf(b.a))")//0x0000600000019450
let b_copy = b
print("A = \(unsafeAddressOf(b_copy.a))")//0x0000600000019450
5
Tüm özellikler kopyalanan bir yapının (Atanmış sanki (=
) yeni yapının ilgili özelliğine eski yapının her bir özellik) struct ne olursa olsun, yapı kopyalandığında.
"Sınıf özniteliği" derken, bir başvuru türü değişkeni kastettiğinizi varsayar. (Bir sınıfla aynı ada sahip olan tür, o sınıfın nesnelerini işaret eden başvurular için bir başvuru türünü belirtir.) Bir referans türü (bir referans) değerini kopyalamak, aynı nesneyi işaret eden başka bir referans oluşturur. "Nesneler" in Swift'deki değerler olmadığını unutmayın - "nesne türleri" yoktur - daha ziyade nesneler, onlara işaret eden referanslar aracılığıyla her zaman manipüle edilir.
İlgili konular
- 1. Dize atama referans/kopya ile mi?
- 2. NSSet içindeki tüm nesnelerin bir özelliğini hızlı şekilde mi özetleyeceksiniz?
- 3. powershell - yinelemeli kopya sırasında klasörleri dışlayamıyor
- 4. Istream'den ostream'e hızlı kontrol edilen kopya
- 5. Kopya Öğe kopya klasör benim iç sistemde tekrarlayan günlükleri toplama sırasında ikinci kez
- 6. C++ Ödev: Bir hatayı
- 7. kopya kurucusu
- 8. Takım şehrinde yapı yapılandırması adımları arasındaki bağımsız değişkenler nasıl iletilir?
- 9. Sınıflar arasında paylaşılan kaynakların yönetimi mi?
- 10. Angular2 içindeki bir bileşene bir dize değeri nasıl iletilir
- 11. Özel kopya oluşturuculara sahip nesneler atılabilir mi?
- 12. Önyükleme sırasında sütun içindeki denetimleri nasıl hizalarsınız?
- 13. Sakai'de bir Ödev içeriğinin REST
- 14. Türetilmiş sınıflar arkadaşlar olarak kabul edilir mi?
- 15. TFS oluşturma sırasında Powershell komut dosyasında yapı revizyon numarasına erişme
- 16. gtk2hs içindeki olay işleyicileri arasındaki durum nasıl iletilir
- 17. 'kopya'?
- 18. Statik ok işlevli sınıflar
- 19. Hızlı yeniden iletmeden önce TCP neden üç kopya ACK bekler?
- 20. Daha hızlı bir strptime mi?
- 21. Composer hatası nasıl düzeltilir: "dir içindeki sınıflar için tarama yapılamadı"?
- 22. Kopya dosya ayıklama yapılandırma ben ayıklama inşa sırasında App'ın Kaynaklar dizine birkaç dosyaları kopyalamak için gereken
- 23. Kopya koruma tuzakları
- 24. Yapı sırasında paket adını dinamik olarak belirtmek mümkün mü?
- 25. Yapı
- 26. Standart olmayan ödev için Munkres algoritması sorunları
- 27. Yapı, CGFloat'tan önce mi sonra mı çıkıyor?
- 28. Oluşturulan .aar dosyası boş sınıflar veriyor.jar
- 29. Ninject - Yapı sırasında hangi sınıfın istisna attığını nasıl belirleriz
- 30. Tutulma sırasında birden fazla yapı yolu hatası düzeltiliyor