«mutable» etiketlenmiş sorular

Bir değişken oluşturulduktan sonra değiştirilebilir.


18
'Mutable' anahtar sözcüğünün değişkenin bir const işlevi tarafından değiştirilmesine izin vermekten başka bir amacı var mı?
Bir süre önce bir sınıfın üye değişkenini mutableanahtar kelimeyle işaretleyen bazı kodlarla karşılaştım . Görebildiğim kadarıyla basitçe bir constyöntemde bir değişkeni değiştirmek için izin verir : class Foo { private: mutable bool done_; public: void doSomething() const { ...; done_ = true; } }; Bu, bu anahtar kelimenin tek kullanımı …
527 c++  keyword  mutable 



16
Değişken ve Değişken Tipler
Değişmez bir türün ne olduğu konusunda kafam karıştı. floatKitabımdaki bu tür bir örnekle nesnenin değişmez olarak kabul edildiğini biliyorum : class RoundFloat(float): def __new__(cls, val): return float.__new__(cls, round(val, 2)) Sınıf yapısı / hiyerarşisi nedeniyle bunun değişmez olduğu düşünülüyor mu? Anlam floatsınıfın en üstünde ve kendi yöntem çağrısıdır. Bu tür bir …

11
Değişken ve değişmeyen nesneler
Başımı değişmez ve değişmez nesnelerin etrafına döndürmeye çalışıyorum. Değişken nesneler kullanmak çok fazla kötü baskı alır (örneğin, bir yöntemden dizeler dizisi döndürme), ancak bunun olumsuz etkilerinin ne olduğunu anlamada sorun yaşıyorum. Değişken nesneleri kullanma konusunda en iyi uygulamalar nelerdir? Mümkün olduğunca onlardan kaçınmalı mısınız?

10
Python'da değişken isimli tuple var mı?
Herhangi biri, isimli tuple'ı değiştirebilir veya değiştirilebilir nesneler için çalışması için alternatif bir sınıf sağlayabilir mi? Öncelikle okunabilirlik için, bunu yapan namedtuple'a benzer bir şey istiyorum: from Camelot import namedgroup Point = namedgroup('Point', ['x', 'y']) p = Point(0, 0) p.x = 10 >>> p Point(x=10, y=0) >>> p.x *= 10 …

10
Tamsayı Değiştirilemez mi
Bunun muhtemelen çok aptalca olduğunu biliyorum, ancak birçok yer Java'daki Integer sınıfının değişmez olduğunu iddia ediyor, ancak şu kod: Integer a=3; Integer b=3; a+=b; System.out.println(a); (Beklenen) sonucu verirken herhangi bir sorun yaşamadan yürütür 6. Yani etkili bir şekilde a'nın değeri değişmiştir. Bu, Tamsayının değiştirilebilir olduğu anlamına gelmez mi? İkincil soru …

7
Swift'de Değişmez / Değişebilir Koleksiyonlar
Değişken / değişmez nesnelerin (Dizi, Sözlük, Kümeler, Veri) Swift dilinde oluşturulmasını anlamak için Apple'ın Swift programlama kılavuzuna başvuruyordum. Ancak Swift'de nasıl değişmez bir koleksiyon oluşturacağımı anlayamadım. Objective-C'de aşağıdakiler için Swift'deki eşdeğerlerini görmek istiyorum Değişmez Dizi NSArray *imArray = [[NSArray alloc]initWithObjects:@"First",@"Second",@"Third",nil]; Değişebilir Dizi NSMutableArray *mArray = [[NSMutableArray alloc]initWithObjects:@"First",@"Second",@"Third",nil]; [mArray addObject:@"Fourth"]; Değişmez …

6
C ++ 'da uçucu ve değişken
Uçucu ve değişken arasındaki fark hakkında bir sorum var. Her ikisinin de değiştirilebileceği anlamına geldiğini fark ettim. Başka? Aynı şey mi? Fark ne? Nerelerde uygulanabilir? Neden iki fikir öneriliyor? Bunları farklı bir şekilde nasıl kullanırız? Çok teşekkürler.
86 c++  volatile  mutable 

7
Değişken işlev bağımsız değişkeni varsayılan değerleri için iyi kullanımlar?
Python'da, değişken bir nesneyi bir işlevdeki bir argümanın varsayılan değeri olarak ayarlamak yaygın bir hatadır. İşte David Goodger'ın bu mükemmel yazısından bir örnek : >>> def bad_append(new_item, a_list=[]): a_list.append(new_item) return a_list >>> print bad_append('one') ['one'] >>> print bad_append('two') ['one', 'two'] Bunun neden olduğunun açıklaması burada . Ve şimdi sorum için: …

5
F #: değişebilir vs. ref
İlk olarak, bu sorunun bir kopya olma olasılığını kabul ediyorum; sadece bana bildirin. Değişkenliğin istendiği durumlar için genel "en iyi uygulamanın" ne olduğunu merak ediyorum. F # bunun için iki kolaylık sunuyor let mutablegibi görünüyor: "çoğu" dilde değişkenler gibi çalışıyor gibi görünen bağlama ve kullanmak için açık başvuruyu refgerektiren referans …
83 f#  mutable 
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.