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

6
Aktif bir istisna olmadan çağrılan C ++ sonlandırması
Diş açarken bir C ++ hatası alıyorum: terminate called without an active exception Aborted İşte kod: #include <queue> #include <thread> #include <mutex> #include <condition_variable> template<typename TYPE> class blocking_stream { public: blocking_stream(size_t max_buffer_size_) : max_buffer_size(max_buffer_size_) { } //PUSH data into the buffer blocking_stream &operator<<(TYPE &other) { std::unique_lock<std::mutex> mtx_lock(mtx); while(buffer.size()>=max_buffer_size) stop_if_full.wait(mtx_lock); buffer.push(std::move(other)); …

3
Lambda'nın Açık Dönüş Tipi
Bu kodu (VS2010) denediğimde ve derlediğimde aşağıdaki hatayı alıyorum: error C3499: a lambda that has been specified to have a void return type cannot return a value void DataFile::removeComments() { string::const_iterator start, end; boost::regex expression("^\\s?#"); boost::match_results<std::string::const_iterator> what; boost::match_flag_type flags = boost::match_default; // Look for lines that either start with a …


15
C ++ 11'in C # tarzı özellikleri var mı?
C # 'da alıcı ve ayarlayıcılı alanlar için güzel bir sözdizimi şekeri vardır. Dahası, otomatik olarak uygulanan özellikleri de yazmama izin veren public Foo foo { get; private set; } C ++ ile yazmalıyım private: Foo foo; public: Foo getFoo() { return foo; } C ++ 11'de bu konuda biraz …
93 c#  c++  class  c++11 

4
Shared_ptr <Derived> shared_ptr <Base> olarak iletiliyor
shared_ptrTüretilmiş türden a'yı shared_ptrtemel türden alan bir işleve geçirmenin en iyi yöntemi nedir ? shared_ptrGereksiz bir kopyadan kaçınmak için genellikle s'yi referans olarak geçiririm: int foo(const shared_ptr&lt;bar&gt;&amp; ptr); ama böyle bir şey yapmaya çalışırsam bu işe yaramaz int foo(const shared_ptr&lt;Base&gt;&amp; ptr); ... shared_ptr&lt;Derived&gt; bar = make_shared&lt;Derived&gt;(); foo(bar); kullanabilirim foo(dynamic_pointer_cast&lt;Base, Derived&gt;(bar)); …

3
Bir vektör büyüdüğünde hareket semantiğini nasıl zorlayabilirim?
std::vectorBelli bir sınıftaki nesnelerim var A. Sınıf önemsiz değildir ve kopya oluşturuculara ve tanımlanmış taşıma yapıcılarına sahiptir. std::vector&lt;A&gt; myvec; Vektörü Anesnelerle doldurursam (örneğin kullanarak myvec.push_back(a)), vektördeki A( const A&amp;)öğelerin yeni kopyalarını somutlaştırmak için copy yapıcısını kullanarak vektörün boyutu büyür . ABunun yerine sınıfın hareket oluşturucusunun kullanılmasını bir şekilde zorlayabilir miyim …


6
error :: make_unique 'std' üyesi değil
Test etmek için kod incelemesinde yayınlanan aşağıdaki iş parçacığı havuzu programını derlemeye çalışıyorum. /codereview/55100/platform-independant-thread-pool-v4 Ama hataları alıyorum threadpool.hpp: In member function ‘std::future&lt;decltype (task((forward&lt;Args&gt;)(args)...))&gt; threadpool::enqueue_task(Func&amp;&amp;, Args&amp;&amp; ...)’: threadpool.hpp:94:28: error: ‘make_unique’ was not declared in this scope auto package_ptr = make_unique&lt;task_package_impl&lt;R, decltype(bound_task)&gt;&gt; (std::move(bound_task), std::move(promise)); ^ threadpool.hpp:94:81: error: expected primary-expression before ‘&gt;’ token …

4
Sondaki dönüş türü söz dizimi stili yeni C ++ 11 programları için varsayılan hale gelmeli mi? [kapalı]
Kapalı . Bu soru fikir temelli . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek mi istiyorsunuz? Bu gönderiyi düzenleyerek gerçekler ve alıntılarla cevaplanabilmesi için soruyu güncelleyin . 3 yıl önce kapalı . Bu soruyu geliştirin C ++ 11, yeni bir işlev sözdizimini destekler: auto func_name(int x, int y) -&gt; …

3
Constexpr ve makrolar
Makroları nerede kullanmayı tercih etmeliyim ve nerede constexpr'i tercih etmeliyim ? Temelde aynı değiller mi? #define MAX_HEIGHT 720 vs constexpr unsigned int max_height = 720;
92 c++  c++11  macros  constexpr 

2
Ekstra parantezlerin operatör önceliği dışında ne zaman bir etkisi olur?
C ++ 'daki parantezler birçok yerde kullanılır: örneğin, operatör önceliğini geçersiz kılmak için işlev çağrılarında ve ifadeleri gruplandırmada. Geçersiz fazladan parantezlerin (işlev çağrısı bağımsız değişken listeleri etrafındaki gibi) dışında, C ++ 'nın genel -ama mutlak değil- kuralı, ekstra parantezlerin asla zarar vermemesidir : 5.1 Birincil ifadeler [ifade.prim] 5.1.1 Genel [expr.prim.general] …


2
Bunu neden referansla ('& this') lambda'da yakalayamıyorum?
Bir lambda'da yakalamanın this(nesne özelliklerini değiştirmek için) doğru yolunun aşağıdaki gibi olduğunu anlıyorum : auto f = [this] () { /* ... */ }; Ama şu gördüğüm tuhaflığı merak ediyorum: class C { public: void foo() { // auto f = [] () { // this not captured auto f …
91 c++  c++11  lambda 


6
Lambda ifadesi döndüren işlev
C ++ 11'de bir lambda işlevi döndüren bir işlev yazmanın mümkün olup olmadığını merak ediyorum. Elbette bir sorun, böyle bir işlevin nasıl beyan edileceğidir. Her lambda'nın bir türü vardır, ancak bu tür C ++ 'da ifade edilemez. Bunun işe yarayacağını sanmıyorum: auto retFun() -&gt; decltype ([](int x) -&gt; int) { …
90 c++  function  c++11  lambda 

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.