«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
Şablon kesinti kılavuzları nelerdir ve bunları ne zaman kullanmalıyız?
C ++ 17 standardı "şablon kesinti kılavuzlarını" sunar. Standardın bu sürümünde tanıtılan kurucular için yeni şablon argüman çıkarımı ile ilgili olduklarını anlıyorum, ancak henüz ne oldukları ve ne için oldukları konusunda basit, SSS tarzı bir açıklama görmedim. C ++ 17'de şablon kesinti kılavuzları nelerdir? Neden (ve ne zaman) onlara ihtiyacımız …


4
Neden işlev şablonu kısmen özelleştirilemez?
Dil belirtiminin kısmen yasakladığını biliyorum , işlev şablonunun uzmanlaşmasını . Bunu neden yasakladığının gerekçesini bilmek isterim? Yararlı değiller mi? template<typename T, typename U> void f() {} //allowed! template<> void f<int, char>() {} //allowed! template<typename T> void f<char, T>() {} //not allowed! template<typename T> void f<T, int>() {} //not allowed!

3
sınıfım için nasıl takas işlevi sağlayabilirim?
swapSTL algoritmalarımı etkinleştirmenin doğru yolu nedir ? 1) Üye swap. Mu std::swapüyesini kullanmak SFINAE hile kullanmak swap. 2) swapAynı isim alanında serbest duruş . 3) Kısmi uzmanlaşma std::swap. 4) Yukarıdakilerin tümü. Teşekkür ederim. DÜZENLEME: Görünüşe göre sorumu açıkça ifade etmedim. Temel olarak, bir şablon sınıfım var ve o sınıf için …
89 c++  algorithm  stl  swap 

3
Std :: string dosyaya nasıl yazılır?
std::stringKullanıcıdan kabul ettiğim bir değişkeni bir dosyaya yazmak istiyorum . write()Yöntemi kullanmayı denedim ve dosyaya yazıyor. Ama dosyayı açtığımda dize yerine kutular görüyorum. Dize yalnızca değişken uzunluklu tek bir kelimedir. Bunun std::stringiçin uygun mu yoksa bir karakter dizisi falan mı kullanmalıyım. ofstream write; std::string studentName, roll, studentPassword, filename; public: void …
89 c++ 

7
const önce parametre vs işlev adından sonra const c ++
Böyle bir şeyin arasındaki fark nedir friend Circle copy(const Circle &); ve bunun gibi bir şey friend Circle copy(Circle&) const; Bu işlevin derleyiciye çağrıldığı nesneyi değiştirmeye çalışmayacağını söylemek için kullanıldıktan sonra const olduğunu biliyorum, peki ya diğeri?


5
'Std :;' ne olurdu? c ++ 'da mı?
Yakın zamanda bazı kodları değiştiriyordum ve bir işlevin bir satırında önceden var olan bir hata buldum: std:;string x = y; Bu kod hala derleniyor ve beklendiği gibi çalışıyor. Dize tanımı işe yarıyor çünkü bu dosya using namespace std;, bu yüzden std::ilk etapta gereksizdi. Soru şu ki, neden std:;derleme yapılıyor ve …
89 c++  std  colon 

2
Neden 'A' karakteri 0x41 ile karşılaştırılsın?
Bazı C ++ kodlarına bakıyordum ve aşağıdaki yapıyı buldum: if('A' == 0x41) { // ... } else if('A' == 0xc1) { // ... } else { // ... } Şunları söyleyen bir Visual Studio uyarısı alıyorum: Uyarı C4127 koşullu ifade sabittir. Visual Studio açıkça haklıdır - kesinlikle 'A' 0x41 olarak …
89 c++  string 


4
Neden varsayılan taşıma ataması / taşıma yapıcısı yok?
Ben basit bir programcıyım. Sınıf üyelerim değişkenleri çoğunlukla POD türleri ve STL kapsayıcılarından oluşur. Bu nedenle, bunlar varsayılan olarak uygulandığı için nadiren atama işleçleri yazmak veya oluşturucuları kopyalamak zorunda kalıyorum. Buna ek olarak, std::movehareket ettirilemeyen nesnelerde kullanırsam, atama operatörünü kullanır, yani std::movetamamen güvenlidir. Basit bir programcı olduğum için, yazdığım her …


13
INI Dosyasını C ++ 'da çözümlemenin en kolay yolu nedir?
C ++ kullanarak bir INI dosyasını ayrıştırmaya çalışıyorum. Bunu başarmanın en iyi yolunun ne olduğuna dair herhangi bir ipucu var mı? INI dosya işleme (tamamen aşina olmadığım) için Windows API araçlarını, açık kaynaklı bir çözümü kullanmalı mıyım yoksa manuel olarak ayrıştırmaya mı çalışmalıyım?
89 c++  winapi  ini  fileparse 

3
Statik anahtar kelimenin kullanımdan kaldırılması… artık yok mu?
C ++ 'da, staticbir sembolün görünürlüğünü (değişken veya işlev bildirimi) etkilemek için bir çeviri birimi içinde anahtar kelimeyi kullanmak mümkündür . N3092'de bu kullanımdan kaldırıldı: Ek D.2 [depr.static] Statik anahtar sözcüğün kullanımı, ad alanı kapsamındaki nesneler bildirilirken kullanımdan kaldırılmıştır (bkz. 3.3.6). N3225'te bu kaldırılmıştır. Bulabildiğim tek makale biraz gayri resmi. …
89 c++  static  c++11  standards 

4
Çok iş parçacıklı kodu g ++ ile derleme
Şimdiye kadarki en kolay koda sahibim: #include <iostream> #include <thread> void worker() { std::cout << "another thread"; } int main() { std::thread t(worker); std::cout << "main thread" << std::endl; t.join(); return 0; } yine de onu g++çalıştırmak için derleyemiyorum. Daha fazla detay: $ g++ --version g++ (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1 Copyright …
89 c++  linux  ubuntu  gcc  g++ 

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.