«c++14» etiketlenmiş sorular

C ++ 14, 2014 yılında onaylanan C ++ standardının adıdır. Önceki C ++ 11 standardını temel alır, çekirdek dili ve standart kitaplığı geliştirir ve bazı özellikler ekler.


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<decltype (task((forward<Args>)(args)...))> threadpool::enqueue_task(Func&&, Args&& ...)’: threadpool.hpp:94:28: error: ‘make_unique’ was not declared in this scope auto package_ptr = make_unique<task_package_impl<R, decltype(bound_task)>> (std::move(bound_task), std::move(promise)); ^ threadpool.hpp:94:81: error: expected primary-expression before ‘>’ token …

5
Bir lambda neden 1 bayt boyutuna sahiptir?
C ++ 'da bazı lambdaların hafızası üzerinde çalışıyorum, ancak boyutları beni biraz şaşırttı. İşte test kodum: #include <iostream> #include <string> int main() { auto f = [](){ return 17; }; std::cout << f() << std::endl; std::cout << &f << std::endl; std::cout << sizeof(f) << std::endl; } Buradan çalıştırabilirsiniz: http://fiddle.jyt.io/github/b13f682d1237eb69ebdc60728bb52598 Çıktı: …
90 c++  c++11  lambda  c++14  sizeof 

3
Const void nedir?
Açıklama std::is_voidşunları belirtir: T tipi void, const void, volatile void veya const volatile void ise, true değerine eşit üye sabit değerini sağlar . O zaman ne olabilir const voidveya a volatile void? Bu cevap , const voiddönüş türünün geçersiz olacağını belirtir (ancak VC ++ 2015'te derlenir) const void foo() { …
90 c++  c++11  c++14 

2
Sadece bir üyeyle sendika kullanmanın amacı nedir?
Seastar kaynak kodunu okurken tx_side, sadece bir üyesi olan bir birlik yapısı olduğunu fark ettim . Belli bir problemle başa çıkmak hack mi? Bilginize, tx_sideaşağıdaki yapıyı yapıştırıyorum : union tx_side { tx_side() {} ~tx_side() {} void init() { new (&a) aa; } struct aa { std::deque<work_item*> pending_fifo; } a; } …
89 c++  c++14  unions 

3
Varsayılan, değer ve sıfır başlatma karmaşası
Değer & varsayılan & sıfır başlatma konusunda kafam çok karışık. ve özellikle farklı standartlar C ++ 03 ve C ++ 11 (ve C ++ 14 ) için devreye girdiklerinde . Burada gerçekten iyi bir cevabı alıntılamakta ve genişletmeye çalışıyorum Value- / Default- / Zero- Init C ++ 98 ve C …
89 c++  c++11  c++14  c++03  c++98 

5
Lambda'nın kendisinde bir C ++ lambda fonksiyonunun adresi nasıl alınır?
Kendi içinde bir lambda fonksiyonunun adresini nasıl alacağımı anlamaya çalışıyorum. İşte bir örnek kod: []() { std::cout << "Address of this lambda function is => " << ???? }(); Lambda'yı değişken olarak yakalayabildiğimi ve adresi yazdırabileceğimi biliyorum, ancak bu anonim işlev yürütülürken yerinde yapmak istiyorum. Bunu yapmanın daha basit bir …
53 c++  c++11  lambda  c++14  c++17 

1
Std :: atom yapıcı neden C ++ 14 ve C ++ 17'de farklı davranıyor?
C ++ 11 ile bir projede çalışıyorum ve aşağıdaki kodu denedim #include <atomic> struct A { std::atomic_int idx = 1; }; int main() { return 0; } Derleyici hatası alıyorum error: use of deleted function 'std::__atomic_base<_IntTp>::__atomic_base(const std::__atomic_base<_IntTp>&) [with _ITp = int]' std::atomic_int idx = 1; ^ Aynı sonuç C ++ …
19 c++  c++14  c++17  stdatomic 

3
Lambda kapatma değerleri, değer referans parametreleri olarak geçirilebilir
lvalueLambda kapaklarının her zaman rvaluefonksiyon parametresi olarak geçebileceğini buldum . Aşağıdaki basit gösterilere bakın. #include <iostream> #include <functional> using namespace std; void foo(std::function<void()>&& t) { } int main() { // Case 1: passing a `lvalue` closure auto fn1 = []{}; foo(fn1); // works // Case 2: passing a `lvalue` function …

4
Sürekli numaralandırma C ++ 11
Bir enum sürekli olup olmadığını C ++ 11 denetlemek için bir yolu var mı ? Olmayan bir enum değerleri vermek tamamen geçerlidir. Enum sürekli olup olmadığını kontrol etmek için C ++ 14, C ++ 17 veya belki C ++ 20'de bir tür özelliği gibi bir özellik var mı? Bu, static_assert …
17 c++  c++11  c++14  c++17  c++20 

3
İşlev şablonunun içindeki işlevi yalnızca işlevi tanımlanmış olan türler için yürüt
Ben girdi olarak birçok farklı türde alır bir işlev şablonu var. Bu tiplerden sadece bir tanesinin bir getInt()işlevi vardır. Bu nedenle, kodun yalnızca bu tür için işlevi çalıştırmasını istiyorum. Lütfen bir çözüm önerin. Teşekkürler #include <type_traits> #include <typeinfo> class X { public: int getInt(){ return 9; } }; class Y{ …

1
İfade türleri, sürümler arasında C ++ ile neden değişti?
C ++ ifade türlerini anlamaya çalışıyorum ve ne kadar çok okursam, o kadar karıştı, çünkü C ++ taslağını sindirimi çok zor buluyorum ve bu nedenle diğer kaynakları tercih ediyorum ama ya birbirleriyle çelişiyorlar ya da C ++ sürümleri arasındaki ifadeler ve tanımlamalar büyük ölçüde değişir. Aşağıda aşağıdaki taslaklara atıfta bulunuyorum: …
13 c++  c++11  c++14  c++17  c++20 

1
Değişken bir şablon, şablon şablonu argümanı olarak iletilebilir mi?
Aşağıdaki saçma örnek derlenmez, ancak şablon şablonu bağımsız değişkeni olarak bir değişken şablonu geçirmenin başka bir yolu var mı? template<typename T> constexpr auto zero = T{0}; template<typename T, template<typename> auto VariableTemplate> constexpr auto add_one() { return VariableTemplate<T> + T{1}; } int main() { return add_one<int, zero>(); } Derleyici Gezgini'ni deneyin

1
Aralıklar neden boru kitaplığı işlevselliği için kullanılamaz?
Jonathan Boccara ( Fluent C ++ yazarı ) pipe adlı bir kütüphane yazdı . Deponun ana sayfasında yer alan bu "borular", aynı görünse bile aralıkların kullanımı gibi değildir: Tembel çekmeye değil, daha çok itmeye dayalıdır. Ancak, çeşitli 'boru' işlemleri gerçekleştirmek için aralık kütüphanesini kullanamayacağı belirtilmektedir . Örneğin: unzip - Sıkıştırılmış …

2
Zincirleme sırasında kopya nasıl kullanılır?
Aşağıdaki küçük örnek gibi bir zincirleme türü sınıfı oluşturuyorum. Üye işlevlerini zincirlerken, kopya oluşturucu çalıştırılır. Kopya oluşturucu çağrısından kurtulmanın bir yolu var mı? Aşağıdaki oyuncak örneğimde, sadece geçici işlerle uğraştığım ve bu nedenle "zorunluluk" (belki standartlara göre değil, mantıksal olarak) bir eleme olduğu açıktır. Seçimi kopyalamak için ikinci en iyi …
10 c++  c++14  c++17 

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.