«initializer-list» etiketlenmiş sorular



8
initializer_list ve semantiği taşı
Elemanları a'nın dışına taşımama izin var std::initializer_list<T>mı? #include <initializer_list> #include <utility> template<typename T> void foo(std::initializer_list<T> list) { for (auto it = list.begin(); it != list.end(); ++it) { bar(std::move(*it)); // kosher? } } Yana std::intializer_list<T>özel derleyici dikkat gerektiren ve C ++ standardı kütüphanesinde normal kaplarda gibi değer anlambilim yok, ben daha …

6
Std :: initializer_list neden yerleşik bir dil değil?
Neden std::initializer_listbir çekirdek dil yerleşik değil ? Bana öyle geliyor ki, C ++ 11'in oldukça önemli bir özelliği ve yine de kendi ayrılmış anahtar kelimesine (veya benzer bir şeye) sahip değil. Bunun yerine, initializer_listbu kadar sadece özel, örtülü sahiptir standart kütüphaneden bir şablon sınıfı eşlemesi yeni gelen hazırladı-init-liste {...} derleyici …

3
Ayraçlı başlatıcı ne zaman kullanılır?
C ++ 11'de, sınıfları başlatmak için, değişkenleri nasıl başlatacağımız konusunda bize çok sayıda olasılık veren yeni sözdizimimiz var. { // Example 1 int b(1); int a{1}; int c = 1; int d = {1}; } { // Example 2 std::complex<double> b(3,4); std::complex<double> a{3,4}; std::complex<double> c = {3,4}; auto d = …

5
Yalnızca hareket tipi bir vektörü listeleyebilir miyim?
Aşağıdaki kodu GCC 4.7 anlık görüntümden geçirirsem, s'leri unique_ptrvektöre kopyalamaya çalışır . #include <vector> #include <memory> int main() { using move_only = std::unique_ptr<int>; std::vector<move_only> v { move_only(), move_only(), move_only() }; } Açıkçası bu işe yaramaz çünkü std::unique_ptrkopyalanamaz: hata: silinmiş işlevin kullanımı 'std :: unique_ptr <_Tp, _Dp> :: unique_ptr (const std …



6
Döngü çalışmayan masum aralık
Aşağıdaki gelmez değil derlemek: #include <iostream> int main() { int a{},b{},c{},d{}; for (auto& s : {a, b, c, d}) { s = 1; } std::cout << a << std::endl; return 0; } Godbolt üzerinde dene Derleyici hatası: error: assignment of read-only reference 's' Şimdi benim gerçek durumumda liste bir sınıftaki …
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.