«c++» etiketlenmiş sorular

C ++ genel amaçlı bir programlama dilidir. Başlangıçta C'nin bir uzantısı olarak tasarlanmıştır ve benzer bir sözdizimine sahiptir, ancak şimdi tamamen farklı bir dildir. Bir C ++ derleyicisiyle derlenecek kod (sorulacak) ile ilgili sorular için bu etiketi kullanın. Belirli bir standart revizyon [C ++ 11], [C ++ 14], [C ++ 17] veya [C ++ 20] vb. İle ilgili sorular için sürüme özgü bir etiket kullanın.


6
C ++ 'da aşırı yüklenmiş yapıcılar aracılığıyla bilinmeyen bir değişkenin başlatılması
öncelikle Python arka plan geliyor C ++ türleri ile çalışma ile biraz mücadele var. Bir parametre değişkenini farklı türlerde parametre olarak alan birkaç aşırı yüklenmiş kuruculardan biri aracılığıyla başlatmaya çalışıyorum. autoAnahtar kelimeyi kullanmanın bir değişkenin otomatik bildirimi için kullanılabileceğini okudum , ancak benim durumumda bir kurucu seçilene kadar başlatılmayacak. Ancak …

2
POD türü olmak önemsiz, standart düzen türüne tam olarak eşdeğer mi?
C ++ 20'de, POD kavramı, varsayılan ve önemsiz olmanın anlamsız bir kompozit özelliği olduğu için kullanımdan kaldırılmıştır. Bununla birlikte, C ++ 20 taslağındaki POD'un tanımı tam olarak "hem önemsiz hem de standart düzen" değildir; aslında: POD sınıfı, hem önemsiz bir sınıf hem de standart mizanpaj sınıfı olan ve POD sınıfı …



4
İade sırasında örtük dönüştürmeye izin verilmiyor
#include <optional> bool f() { std::optional<int> opt; return opt; } Derlemez: 'return': cannot convert from 'std::optional<int>' to 'bool' Referansa danışmak Bir açıklama bulmayı düşünürdüm, ama olması gerektiği gibi okudum. Örtük dönüşümler, T1 türünde bir ifade, bu türü kabul etmeyen, ancak başka bir T2 türünü kabul eden bağlamda kullanıldığında gerçekleştirilir; özellikle: …

2
Pratikte rasgele sayı motorlarından hangisi kullanılmalıdır? std :: mt19937?
Diyelim ki C ++ <random>olanaklarını pratik bir programda kullanmak istiyorsunuz ("pratik" in bazı tanımları için - buradaki kısıtlamalar bu sorunun bir parçasıdır). Kabaca şöyle bir kod var: int main(int argc, char **argv) { int seed = get_user_provided_seed_value(argc, argv); if (seed == 0) seed = std::random_device()(); ENGINE g(seed); // TODO: proper …
21 c++  c++11  random 

4
Şablon türünün doğru yapıcısını nasıl çağırırım?
Aşağıdaki kodda, yorumlanan satırın hemen üstündeki satırla aynı şekilde çalışmasını nasıl sağlayabilirim? Ben genel bir kod yapmak istiyorum, bu bir şablonun uygun yapıcı çağırır Type. #include <string> #include <iostream> template <typename Type> struct Class { Type data; Class(Type data) : data(data) { } }; int main() { Class<std::string> a = …

5
C ++ 'da işlemi ayarla (mevcut değeri güncelle)
İşte benim kod: while (it!=s.end()) //here 's' is a set of stl and 'it' is iterator of set { *it=*it-sub; //'sub' is an int value it++; } Yineleyici tarafından ayarlanan değeri güncelleyemiyorum. Ben kümenin tüm elemanından 'sub' bir tamsayı değeri çıkarmak istiyorum. Asıl sorunun nerede olduğunu ve asıl çözümün ne …
21 c++ 

1
Neden bir dizinin GCC toplam başlatması, sıfır olmayan öğeler de dahil olmak üzere her şeyi önce sıfırlarla dolduruyor?
Neden gcc tüm diziyi yalnızca kalan 96 tam sayı yerine sıfırlarla dolduruyor? Sıfır olmayan başlatıcıların tümü dizinin başlangıcındadır. void *sink; void bar() { int a[100]{1,2,3,4}; sink = a; // a escapes the function asm("":::"memory"); // and compiler memory barrier // forces the compiler to materialize a[] in memory instead of …


1
Bir iş parçacığının yumurtlanması kendi başına bellek siparişi garantileri veriyor mu?
Kabaca bunu yapmak istiyorum: İlk iş parçacığı: küresel değişkenlere bazı değerler yazın (bir daha asla yazılmayacaklar) Bu orta derecede büyük veri olabilir (diziler, dizgiler, vb.). Basitçe yapılamaz std::atomic<>. spawn diğer konuları Diğer konular: küresel durumu oku iş yap vs. Şimdi, argümanları aktarabileceğimi biliyorum std::thread, ama bu örnekle C ++ 'ın …

1
İşlev argümanı olarak {} neden belirsizliğe yol açmıyor?
Bu kodu düşünün: #include <vector> #include <iostream> enum class A { X, Y }; struct Test { Test(const std::vector<double>&, const std::vector<int>& = {}, A = A::X) { std::cout << "vector overload" << std::endl; } Test(const std::vector<double>&, int, A = A::X) { std::cout << "int overload" << std::endl; } }; int …

3
Belirli bir std :: varyant türünü belirli bir ölçütle bölme
Belirli bir değişken türüne göre using V = std::variant<bool, char, std::string, int, float, double, std::vector<int>>; iki varyant türü bildir using V1 = std::variant<bool, char, int, float, double>; using V2 = std::variant<std::string, std::vector<int>>; nereden V1gelen tüm aritmetik türleri içerir Vve gelen V2tüm aritmetik olmayan türleri içerir V? V bir şablon sınıfının …
20 c++  c++17  std-variant 


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.