«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
Neden std :: bir std :: shared_ptr taşıyayım?
Clang kaynak koduna bakıyordum ve şu pasajı buldum: void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = std::move(Value); } Neden isteyeyim std::movebir std::shared_ptr? Paylaşılan bir kaynakta sahipliği aktaran herhangi bir nokta var mı? Neden bunun yerine bunu yapmayayım? void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = Value; }

8
Bir "while (1);" C ++ 0x'de
Güncellenmiş, aşağıya bakın! Duydum ve C ++ 0x derleyicinin aşağıdaki snippet için "Merhaba" yazdırmasına izin verdiğini okudum #include <iostream> int main() { while(1) ; std::cout << "Hello" << std::endl; } Görünüşe göre iş parçacıkları ve optimizasyon yetenekleri ile ilgili bir şey var. Bana öyle geliyor ki, bu birçok insanı şaşırtabilir. …

7
Boost :: thread and boost :: mutex'i c ++ 11 eşdeğeriyle değiştirmek akıllı mı?
Motivasyon: Düşünme sebebim dehası proje müdürümün desteğin başka bir bağımlılık olduğunu ve korkunç olduğunu düşünüyor çünkü "buna güveniyorsun" (Desteğin kalitesini açıklamaya çalıştım, sonra bir süre sonra vazgeçtim :( Bunu yapmak istememin daha küçük bir nedeni, insanların içinde kod yazmaya başlayacağı için c ++ 11 özelliklerini öğrenmek istememdir. #include<thread> #include<mutex>Ve boost …

6
Main () çıktığında ayrı bir iş parçacığına ne olur?
Bir std::threadve daha sonra başlattığımı varsayalım detach(), böylece bir std::threadkez temsil ettiğinde, kapsam dışına çıksa bile, iş parçacığı yürütmeye devam eder. Ayrıca, programın ayrılmış iplik 1'e katılmak için güvenilir bir protokole sahip olmadığını varsayalım , böylece ayrılmış iplik halamain() çıkarken . Ne olması gerektiğini açıklayan standartta (daha kesin olarak, N3797 …

1
Sınıfı enum için static_cast geçersiz değeri yaparsanız ne olur?
Bu C ++ 11 kodunu düşünün: enum class Color : char { red = 0x1, yellow = 0x2 } // ... char *data = ReadFile(); Color color = static_cast<Color>(data[0]); Diyelim ki veriler [0] aslında 100'dür. Standarda göre renk nedir? Özellikle, daha sonra yaparsam switch (color) { // ... red and …
146 c++  c++11 


4
Üye işlevi içindeki lambda yakalama listesinde üye değişkeni kullanma
Aşağıdaki kod gcc 4.5.1 ile derlenir, ancak VS2010 SP1 ile derlenmez: #include <iostream> #include <vector> #include <map> #include <utility> #include <set> #include <algorithm> using namespace std; class puzzle { vector<vector<int>> grid; map<int,set<int>> groups; public: int member_function(); }; int puzzle::member_function() { int i; for_each(groups.cbegin(),groups.cend(),[grid,&i](pair<int,set<int>> group){ i++; cout<<i<<endl; }); } int main() …

7
C ++ otomatik anahtar kelimesi. Neden sihir?
C ++ öğrenmek için kullandığım tüm malzemelerden, autoher zaman hiçbir amaca hizmet etmeyen garip bir depolama süresi belirleyicisi olmuştur. Ama son zamanlarda, kendi başına bir tür adı olarak kullanılan kodla karşılaştım. Merakın dışında denedim ve ne olursa olsun ona ne tür bir şey verdiğimi varsayar! Aniden STL yineleyicileri ve şablon …
145 c++  types  c++11  auto 

12
Neden unordered_set yerine set kullanır?
C ++ 0x unordered_sethangi boostve diğer birçok yerde kullanılabilir tanıtıyor . Anladığım şey, arama karmaşıklığına unordered_setsahip karma tablo O(1). Öte yandan, arama karmaşıklığı setolan bir ağaçtan başka bir şey değildir log(n). Neden yeryüzünde herkes kullanmak istiyorsunuz setyerine unordered_set? yani setartık bir ihtiyaç var mı?

1
C ++ 'da “using” anahtar kelimesinin arkasındaki mantık nedir?
C ++ 'da "using" anahtar kelimesinin arkasındaki mantık nedir? Farklı durumlarda kullanılır ve ben tüm bunların ortak bir şey olup olmadığını bulmaya çalışıyorum ve "using" anahtar kelime gibi kullanılır bir nedeni vardır. using namespace std; // to import namespace in the current namespace using T = int; // type alias …
145 c++  c++11 

14
C ++ 'da otomatik değişkenleri bildirmenin bir dezavantajı var mı?
Görünüşe göre auto, birçok yeni dili takip eden C ++ 11'e eklenmesi oldukça önemli bir özellikti. Python gibi bir dilde olduğu gibi, herhangi bir açık değişken bildirimi görmedim (Python standartlarını kullanarak mümkün olup olmadığından emin değilim). autoDeğişkenleri açıkça belirtmek yerine bildirmek için kullanmanın bir dezavantajı var mı ?


14
C ++ 11'de özyinelemeli lambda işlevleri
C ++ 11 için yeniyim. Aşağıdaki özyinelemeli lambda işlevini yazıyorum, ancak derlemiyor. sum.cpp #include <iostream> #include <functional> auto term = [](int a)->int { return a*a; }; auto next = [](int a)->int { return ++a; }; auto sum = [term,next,&sum](int a, int b)mutable ->int { if(a>b) return 0; else return term(a) …
143 c++  c++11  lambda 

4
Geçiş değeri C ++ 11 için makul bir varsayılan mı?
Geleneksel C ++ 'da, değere göre işlevlere ve yöntemlere geçmek büyük nesneler için yavaştır ve genellikle kaşlarını çatır. Bunun yerine, C ++ programcıları referansları aktarma eğilimindedir, bu da daha hızlıdır, ancak sahiplik ve özellikle bellek yönetimi hakkında her türlü karmaşık soruyu ortaya çıkarır (nesnenin yığın halinde ayrılması durumunda) Şimdi, C …
142 c++  coding-style  c++11 


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.