«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).



8
Yakalama lambda'yı fonksiyon işaretçisi olarak geçirme
Bir lambda fonksiyonunu fonksiyon işaretçisi olarak geçirmek mümkün müdür? Eğer öyleyse, derleme hatası alıyorum çünkü yanlış bir şey yapmalıyım. Aşağıdaki örneği düşünün using DecisionFn = bool(*)(); class Decide { public: Decide(DecisionFn dec) : _dec{dec} {} private: DecisionFn _dec; }; int main() { int x = 5; Decide greaterThanThree{ [x](){ return …

2
Modern C ++ size ücretsiz performans sağlayabilir mi?
Bazen C ++ 11 / 14'ün yalnızca C ++ 98 kodunu derlerken bile performans artışı sağlayabileceği iddia edilir. Gerekçe genellikle hareket semantiği çizgileri üzerindedir, çünkü bazı durumlarda rvalue kurucuları otomatik olarak üretilir veya şimdi STL'nin bir parçasıdır. Şimdi bu vakaların daha önce RVO veya benzer derleyici optimizasyonları tarafından gerçekten ele …


3
'std :: cout' için tanımsız başvuru
Bu örnek olacak mı: #include <iostream> using namespace std; int main() { cout << "Hola, moondo.\n"; } Hatayı atar: gcc -c main.cpp gcc -o edit main.o main.o: In function `main': main.cpp:(.text+0xa): undefined reference to `std::cout' main.cpp:(.text+0xf): undefined reference to `std::basic_ostream<char,std::char_traits<char> >& std::operator<< <std::char_traits<char>>(std::basic_ostream<char, std::char_traits<char> >&, char const*)' main.o: In function …
197 c++  c++11  gcc  cout 


9
C ++ 11'de hangi C ++ deyimleri kullanımdan kaldırıldı?
Yeni standartla, yeni şeyler yapmanın yeni yolları var ve birçoğu eski yollardan daha güzel, ancak eski yol hala iyi. Yeni standardın geriye dönük uyumluluk nedenleriyle resmi olarak çok fazla itiraz etmediği de açıktır. Yani geriye kalan soru şudur: C ++ 11 stillerinden hangi eski kodlama yöntemleri kesinlikle daha düşüktür ve …
192 c++  c++11  c++-faq 

2
Hangi Boost özellikleri C ++ 11 ile çakışıyor?
C ++ becerilerimi birkaç yıl önce rafa koydum ve şimdi tekrar ihtiyacım olduğunda manzara değişti. Şimdi C ++ 11 var ve benim anlayışım birçok Boost özelliği ile örtüşüyor. Bu çakışmaların bulunduğu yerlerde, hangi Boost kütüphanelerinin eski olacağı, hangi C ++ 11 özelliklerinin hangilerini artırmak yerine kullanacakları ve hangilerinin daha iyi …
192 c++  boost  c++11 


5
Noreturn'un anlamı nedir?
[dcl.attr.noreturn] aşağıdaki örneği sağlar: [[ noreturn ]] void f() { throw "error"; // OK } ama amacının ne olduğunu anlamıyorum [[noreturn]], çünkü işlevin dönüş tipi zaten void. Peki, özelliğin amacı noreturnnedir? Nasıl Kullanılır?


16
Yalnızca korumalı veya özel kurucuları olan bir sınıfta :: std :: make_shared'i nasıl arayabilirim?
Ben işe yaramazsa bu kodu var, ama niyet açık olduğunu düşünüyorum: testmakeshared.cpp #include <memory> class A { public: static ::std::shared_ptr<A> create() { return ::std::make_shared<A>(); } protected: A() {} A(const A &) = delete; const A &operator =(const A &) = delete; }; ::std::shared_ptr<A> foo() { return A::create(); } Ama derlediğimde …
187 c++  c++11  shared-ptr 

6
Statik constexpr char [] için tanımlanmamış referans
static const charSınıfımda bir dizi olmasını istiyorum. GCC şikayet etti ve bana kullanmam gerektiğini söyledi constexpr, ancak şimdi bana tanımsız bir referans olduğunu söylüyor. Ben dizi üyesi olmayan yaparsanız derler. Ne oluyor? // .hpp struct foo { void bar(); static constexpr char baz[] = "quz"; }; // .cpp void foo::bar() …

4
std :: auto_ptr - std :: unique_ptr
Yeni standart geldiğinde (ve bazı derleyicilerde zaten mevcut olan parçalar), yeni tipin std::unique_ptryerini alması gerekiyor std::auto_ptr. Kullanımları tam olarak örtüşüyor mu (böylece kodum üzerinde küresel bir bulma / değiştirme yapabilirim (bunu yapmam değil, ama yaptım)) veya belgeleri okumadan belirgin olmayan bazı farklılıkların farkında olmalı mıyım? Ayrıca doğrudan bir yedek ise, …

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.