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

1
Neden C ++ standardı bu şekilde arama yapıyor?
C ++, streamoffbir (dosya) akışı içindeki bir ofseti temsil etmek için türü kullanır ve [stream.types] içinde aşağıdaki gibi tanımlanır: using streamoff = implementation-defined ; Streamoff türü, işletim sistemi için mümkün olan maksimum dosya boyutunu temsil etmek için yeterli büyüklükte imzalı temel integral türlerinden birinin eş anlamlısıdır. 287) 287) Genellikle uzun …



2
Bu eski bir C ++ tarzı yapıcı mı?
İşte bir parça C ++ kodu. Bu örnekte, birçok kod bloğu yapıcı çağrılarına benzemektedir. Ne yazık ki, # 3 blok kodu değil ( https://godbolt.org/z/q3rsxn ve https://cppinsights.io kullanarak kontrol edebilirsiniz ). Bence, eski bir C ++ gösterimi ve {} (cf # 4) kullanarak yeni C ++ 11 inşaat gösteriminin tanıtımını açıklayabilir. …
17 c++  c++11 

1
Clang, bir sınıf şablonunun iç içe sınıfının yalnızca uzmanlıklar aracılığıyla tanımlandığı kodu reddetmek için doğru mu?
Aşağıdaki sınıf şablonu verildiğinde: template<typename T> struct Outer { struct Inner; auto f(Inner) -> void; }; Innerher uzmanlık alanı için ayrı ayrı tanımlarız Outer: template<> struct Outer<int>::Inner {}; template<> struct Outer<double>::Inner {}; ve ardından aşağıdaki ftüm uzmanlıklar için üye işlevini bir kez tanımlayın Outer: auto Outer<T>::f(Inner) -> void { } …

3
Catalina'ya Valgrind kurmanın bir yolu var mı?
Catalina'ya Valgrind'i kurmanın ve düzgün bir şekilde çalıştırmanın bir yolu var mı? Eğer öyleyse, adım adım bir süreci çok takdir ediyorum. Valgrind'i https://github.com/sowson/valgrind ile yüklemeyi denedim, ancak helloWorld.cppterminalde test ettiğimde konsol hatalar almamalıydı. Valgrind'in bu sürümünün kurulum sürecinde benim tarafımda bir hata yapıp yapmadığımdan veya Valgrind'in kendisinin Catalina OS ile …

1
Global const char [] yerine constexpr string_view değiştiren var mı?
Ekibimiz 10+ yaş C ++ kod tabanı ile çalışıyor ve yakın zamanda C ++ 17 derleyicisine geçti. Bu yüzden kodumuzu modernize etmenin yollarını arıyoruz. YouTube'daki bir konferans görüşmesinde, const char*küresel dizeleri değiştirmek için öneriyi duydum constexpr string_view. Kodumuzda çok sayıda const char*küresel dize sabitine sahip olduğumuzdan, bilmemiz gereken herhangi bir …

2
Belirsiz Aşırı Yük Şablonları
Aşağıdaki şablon kodu var #include <vector> #include <array> #include <iostream> template<typename T1> void foo(std::vector<T1> bar) { std::cout << "GENERIC" << std::endl; } template<typename T1> void foo(std::vector<std::vector<T1>> bar) { std::cout << "SPECIFIC (vector)" << std::endl; } template<typename T1, int SIZE> void foo(std::vector<std::array<T1, SIZE>> bar) { std::cout << "SPECIFIC (array)" << std::endl; …
16 c++  templates 

3
Rcpp ile R objektif fonksiyonunu optimize etmek daha yavaş, neden?
Şu anda, yineleme başına çok terimli bir logit modelinin optimizasyonunun birden fazla adımını gerektiren bir Bayes yöntemi üzerinde çalışıyorum. Bu optimizasyonları yapmak için optim () kullanıyorum ve R'de yazılan objektif bir fonksiyon Profilleme, optim () 'in ana darboğaz olduğunu ortaya çıkardı. Etrafa baktıktan sonra , nesnel fonksiyonun yeniden kodlanmasının süreci …
16 c++  r  optimization  rcpp 

2
Şablon typename bağımsız değişkenine başvuru iletme
Referansı şablon türü adı bağımsız değişkenine argüman olarak iletmenin bir yolu var mı? Yani bir int geçmek yerine, örneğin bir int'e bir referans geçirmek için. template <typename T> struct Foo { Foo(T arg) : ptr(arg) {} T ptr; }; int main() { int* a = new int(6); Foo<decltype(a)> foo1(a); // …
16 c++  templates 


1
std :: çift <otomatik, otomatik> dönüş türü
Ben oynamalar autoiçinde std::pair. Aşağıdaki kodda, fonksiyonun bir template parametresine bağlı olan bir tür fdöndürmesi beklenir std::pair. Çalışan bir örnek: ÖRNEK 1 template &lt;unsigned S&gt; auto f() { if constexpr (S == 1) return std::pair{1, 2}; // pair of ints else if constexpr (S == 2) return std::pair{1.0, 2.0}; // …

1
Sizeof (enum) sizeof'den farklı olabilir mi (std :: underlying_type <Enum> :: type)?
Son zamanlarda aşağıdaki örnekte bir kod incelemesi geldi: enum class A : uint8_t { VAL1, VAL2 }; ... std::vector&lt;A&gt; vOfA; // Assume this is sized and full of some stuff. std::memcpy(wire_buffer, vOfA.data(), vOfA.size() * sizeof(A)); sizeof(std::underlying_type&lt;A&gt;::type)Bunun yerine kullanmalıyız sizeof(A). Bunların hiç değişebilmesi mümkün müdür? Birisi bunu garanti eden bir standart …

2
[[no_unique_address]] ve aynı türde iki üye değeri
Ben etrafında oynuyorum [[no_unique_address]]içinde c++20. Cppreference örneğinde boş bir tür Emptyve tür varZ struct Empty {}; // empty class struct Z { char c; [[no_unique_address]] Empty e1, e2; }; Görünüşe göre, boyutu Zen azından 2türleri e1ve e2aynı olduğu için olmalıdır. Ancak, gerçekten Zboyutu ile istiyorum 1. Bu bana neyi Paketleme …


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.