«c++11» etiketlenmiş sorular

C ++ 11 olarak derlenmesi gereken kod için bu etiketi kullanın (C ++ 14 veya sonraki sürümlerde sunulan hiçbir özelliği kullanmayın).


5
Unicode, C ++ 11'de ne kadar iyi desteklenir?
C ++ 11'in Unicode'u desteklediğini okudum ve duydum. Bununla ilgili birkaç soru: C ++ standart kitaplığı Unicode'u ne kadar iyi destekler? Ne std::stringyapmalı? Bunu nasıl kullanabilirim? Potansiyel sorunlar nerede?
183 c++  unicode  c++11 

2
Güvenli-bool deyim C ++ 11'de eski mi?
@R'nin bu cevabı. Martinho Fernandes , güvenli bool deyiminin görünüşte C ++ 11'de kullanımdan kaldırıldığını, çünkü basit bir explicit operator bool() const; cevap standart alıntı göre §4 [conv] p3: Bir ifade e, ancak icat edilen bazı geçici değişkenler için Tve ancak deklarasyon T t=e;iyi oluşturulmuşsa örtülü olarak bir türe dönüştürülebilir …


4
Bir constexpr içinde std :: string kullanmak mümkün mü?
C ++ 11, Ubuntu 14.04, GCC varsayılan araç zinciri kullanılarak . Bu kod başarısız: constexpr std::string constString = "constString"; hata: 'constString' constexpr değişkeninin 'const dizesi {aka const std :: basic_string}' harfi değişmez ... çünkü ... 'std :: basic_string' önemsiz olmayan bir yıkıcıya sahip Kullanmak mümkün mü std::stringbir de constexpr? (görünüşe …

3
Std :: atomic tam olarak nedir?
Bunun std::atomic<>atomik bir nesne olduğunu anlıyorum . Ama ne ölçüde atomik? Anladığım kadarıyla bir işlem atomik olabilir. Bir nesneyi atom haline getirerek tam olarak ne kastedilmektedir? Örneğin, aşağıdaki kodu aynı anda yürüten iki iş parçacığı varsa: a = a + 12; O zaman tüm operasyon add_twelve_to(int)atomik midir? Veya atomik (yani …

2
bir diziyle paylaşılan_ptr: kullanılmalı mı?
İle ilgili sadece küçük bir sorgu shared_ptr . shared_ptrBir diziyi göstermeyi kullanmak iyi bir uygulama mı? Örneğin, shared_ptr<int> sp(new int[10]); Eğer değilse, peki neden değil? Zaten farkında olduğum bir nedeni, arttıramaz / azaltamaz shared_ptr. Bu nedenle, bir diziye normal bir işaretçi gibi kullanılamaz.
172 c++  c++11  shared-ptr 

2
Lambdas neden derleyici tarafından düz işlevlerden daha iyi optimize edilebilir?
The C++ Standard Library (Second Edition)Nicolai Josuttis adlı kitabında lambdasların derleyici tarafından düz işlevlerden daha iyi optimize edilebileceğini belirtiyor. Ayrıca, C ++ derleyicileri lambdaları sıradan işlevlerden daha iyi optimize eder. (Sayfa 213) Neden? Inlining söz konusu olduğunda artık bir fark olmaması gerektiğini düşündüm. Düşünebilmemin tek nedeni, derleyicilerin lambdalarla daha iyi …

6
C ++ 11, 14, 17 veya 20 pi için standart bir sabit getiriyor mu?
C ve C ++ 'da pi sayısı ile oldukça aptalca bir sorun var. Bildiğim kadarıyla M_PItanımlanan math.hherhangi bir standart için gerekli değildir. Yeni C ++ standartları, standart kütüphanede çok fazla karmaşık matematik getirdi - hiperbolik fonksiyonlar std::hermiteve std::cyl_bessel_ifarklı rasgele sayı üreteçleri vb. 'Yeni' standartlardan herhangi biri pi için bir sabit …


6
Bir sınıfta üye işlevlere sahip genel std :: işlev nesnelerini kullanma
Bir sınıf için ben bir de aynı sınıfın eleman fonksiyonları bazı fonksiyon işaretçileri depolamak istediğiniz mapdepolama std::functionnesneler. Ama ben başlangıçta bu kod ile başarısız: class Foo { public: void doSomething() {} void bindFunction() { // ERROR std::function<void(void)> f = &Foo::doSomething; } }; Aldığım error C2064: term does not evaluate to …


2
halka açık arkadaş takas üye işlevi
Kopyala ve takas deyim güzel cevap biraz yardıma ihtiyacım var kod parçası: class dumb_array { public: // ... friend void swap(dumb_array& first, dumb_array& second) // nothrow { using std::swap; swap(first.mSize, second.mSize); swap(first.mArray, second.mArray); } // ... }; ve bir not ekliyor Türümüz için std :: swap konusunda uzmanlaşmamız, serbest işlevli …

4
Auto && bize ne anlatıyor?
Eğer kodu okursanız auto&& var = foo(); burada fooherhangi bir işlev tür değerine göre döner T. Sonra vartür değeri referansı bir lvalue olduğunu T. Peki bu ne anlama geliyor var? Bu, kaynaklarını çalmamıza izin verildiği anlamına mı geliyor var? auto&&Kodunuzu okuyucunuza, unique_ptr<>özel sahipliğiniz olduğunu söylemek için geri döndüğünüzde yaptığınız gibi …

3
Varsayılan kurucu ve yıkıcı için “= varsayılan” “{}” den farkı nedir?
Başlangıçta bunu sadece yıkıcılar hakkında bir soru olarak gönderdim, ancak şimdi varsayılan yapıcıyı da ekliyorum. İşte asıl soru: Sınıfıma sanal, ancak derleyicinin üreteceği şeyle aynı olan bir yıkıcı vermek istersem, kullanabilirim =default: class Widget { public: virtual ~Widget() = default; }; Ama boş bir tanım kullanarak daha az yazarak aynı …

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.