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

7
C ++ 'da ifade sırasını zorunlu kılma
Sabit bir sırayla yürütmek istediğim birkaç ifadem olduğunu varsayalım. Optimizasyon düzeyi 2 ile g ++ kullanmak istiyorum, böylece bazı ifadeler yeniden sıralanabilir. Belirli bir ifadeleri sıralamak için hangi araçlara ihtiyaç vardır? Aşağıdaki örneği düşünün. using Clock = std::chrono::high_resolution_clock; auto t1 = Clock::now(); // Statement 1 foo(); // Statement 2 auto …

4
C ++ Modülleri - C ++ 0x'ten neden kaldırıldılar? Daha sonra geri gelecekler mi?
C ++ 0x'deki modüller hakkındaki bu eski C ++ 0x taslağını yeni keşfettim . Buradaki fikir, sadece .cpp dosyalarını yazarak mevcut .h / .cpp sisteminden çıkmaktı, bu dosyalar daha sonra derleme sırasında modül dosyaları oluşturacak ve daha sonra diğer .cpp dosyaları tarafından kullanılacaktı. Bu gerçekten harika bir özelliğe benziyor. Ama …

2
“……” Belirtecinin anlamı nedir? yani parametre paketinde çift üç nokta operatörü
Gcc'nin yeni C ++ 11 başlıklarının mevcut uygulamasına göz atarken, "......" belirtecine rastladım. Aşağıdaki kodun iyi derlendiğini [ideone.com aracılığıyla] kontrol edebilirsiniz. template <typename T> struct X { /* ... */ }; template <typename T, typename ... U> struct X<T(U......)> // this line is the important one { /* ... */ …

5
std :: next_permutation Uygulama Açıklaması
Nasıl uygulandığını merak ediyordum std:next_permutation, bu yüzden gnu libstdc++ 4.7sürümü çıkardım ve aşağıdaki demoyu üretmek için tanımlayıcıları ve biçimlendirmeyi temizledim ... #include <vector> #include <iostream> #include <algorithm> using namespace std; template<typename It> bool next_permutation(It begin, It end) { if (begin == end) return false; It i = begin; ++i; if …

5
Parametreler nasıl doğru bir şekilde aktarılır?
Ben bir C ++ acemisiyim ama programlama acemi değilim. C ++ (c ++ 11) öğrenmeye çalışıyorum ve benim için en önemli şey biraz belirsiz: parametreleri geçirme. Şu basit örnekleri düşündüm: Tüm üyeleri ilkel türlere sahip bir sınıf: CreditCard(std::string number, int expMonth, int expYear,int pin):number(number), expMonth(expMonth), expYear(expYear), pin(pin) Üye olarak ilkel …
108 c++  c++11 


5
C ++ 'daki normal işaretçilerle karşılaştırıldığında akıllı işaretçilerin ek yükü ne kadar?
C ++ 11'deki normal işaretçilerle karşılaştırıldığında akıllı işaretçilerin ek yükü ne kadar? Başka bir deyişle, akıllı işaretçiler kullanırsam kodum daha yavaş mı olacak ve eğer öyleyse ne kadar yavaş olacak? Özellikle, C ++ 11 std::shared_ptrve std::unique_ptr. Açıkçası, yığından aşağı itilen şeyler daha büyük olacak (en azından öyle düşünüyorum), çünkü akıllı …

3
std :: shared_ptr iş parçacığı güvenliği açıklandı
Okuduğum http://gcc.gnu.org/onlinedocs/libstdc++/manual/shared_ptr.html ve bazı iş parçacığı güvenlik sorunları hala benim için açık değildir: Standart, referans sayımının iş parçacığı açısından güvenli olduğunu ve platformdan bağımsız olduğunu garanti eder, değil mi? Benzer sorun - standart, yalnızca bir iş parçacığının (son referansı tutan) paylaşılan nesnede silme çağrısı yapacağını garanti eder, değil mi? shared_ptr, …
106 c++  c++11  shared-ptr 

5
Std :: array varsayılan olarak başlatılsın mı?
C ++ 11 ile std::array, sözdiziminin std::array<T, N> x;dizinin tüm öğelerini varsayılan olarak başlatacağına dair garantiye sahip miyim ? DÜZENLEME : değilse, tüm öğeleri varsayılan değerlerine başlatmak için tüm dizilerde (sıfır boyutlu diziler dahil) çalışacak bir sözdizimi var mı? DÜZENLEME : cppreference'de , varsayılan yapıcı açıklaması şunu söyler: (constructor) (implicitly …


2
Constexpr satır içi anlamına mı geliyor?
Aşağıdaki satır içi işlevi düşünün: // Inline specifier version #include<iostream> #include<cstdlib> inline int f(const int x); inline int f(const int x) { return 2*x; } int main(int argc, char* argv[]) { return f(std::atoi(argv[1])); } ve constexpr eşdeğer sürümü: // Constexpr specifier version #include<iostream> #include<cstdlib> constexpr int f(const int x); constexpr …

2
Std :: move () değerleri RV değerlerine nasıl aktarır?
Sadece mantığını tam olarak anlamadığımı fark ettim std::move(). İlk başta Google'da araştırdım, ancak std::move()yapısının nasıl çalıştığı değil, nasıl kullanılacağına dair belgeler var gibi görünüyor . Demek istediğim, şablon üye işlevinin ne olduğunu biliyorum ama std::move()VS2010'daki tanıma baktığımda hala kafa karıştırıcı. std :: move () tanımı aşağıdadır. template<class _Ty> inline typename …

8
C ++ 11 desteğini nasıl kontrol ederim?
Derleyici C ++ 11'in belirli özelliklerini destekliyorsa, derleme zamanında algılamanın bir yolu var mı? Örneğin, bunun gibi bir şey: #ifndef VARIADIC_TEMPLATES_SUPPORTED #error "Your compiler doesn't support variadic templates. :(" #else template <typename... DatatypeList> class Tuple { // ... } #endif
104 c++  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.