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

13
Std :: type_info :: name sonucunun çözülmesi
Şu anda - diğer şeylerin yanı sıra - çağıran işlev hakkında bilgi yazdırması gereken bazı günlük kaydı kodu üzerinde çalışıyorum. Bu nispeten kolay olmalı, standart C ++ 'nın bir type_infosınıfı vardır. Bu, typeid'li sınıf / işlev / vb.'nin adını içerir. ama ezilmiş. Pek kullanışlı değil. Yani typeid(std::vector<int>).name()dönüyor St6vectorIiSaIiEE. Bundan faydalı …
97 c++  gcc  name-mangling 

3
Ayraçlı başlatıcı ne zaman kullanılır?
C ++ 11'de, sınıfları başlatmak için, değişkenleri nasıl başlatacağımız konusunda bize çok sayıda olasılık veren yeni sözdizimimiz var. { // Example 1 int b(1); int a{1}; int c = 1; int d = {1}; } { // Example 2 std::complex<double> b(3,4); std::complex<double> a{3,4}; std::complex<double> c = {3,4}; auto d = …

9
Main () yöntemi C'de nasıl çalışır?
Ana yöntemi yazmak için iki farklı imza olduğunu biliyorum - int main() { //Code } veya komut satırı argümanını işlemek için, bunu şöyle yazıyoruz: int main(int argc, char * argv[]) { //code } Gelen C++Bence bir yöntem aşırı, ama biliyorum Cnasıl derleyici bu iki farklı imzalar başedebilir mainfonksiyonu?
96 c++  c 


20
Büyük bir C ++ projesinde gereksiz #include dosyalarını nasıl tespit etmeliyim?
Visual Studio 2008'de büyük bir C ++ projesi üzerinde çalışıyorum ve gereksiz #includeyönergelere sahip bir çok dosya var . Bazen #includes'ler sadece yapaydır ve her şey, onlarla birlikte düzgün bir şekilde derlenir ve diğer durumlarda sınıflar ileri bildirilebilir ve #include .cppdosyaya taşınabilir . Bu durumların ikisini de tespit etmek için …

3
Kavramlar ve şablon kısıtlamaları arasındaki farklar nelerdir?
C ++ tam kavram önerisi ile şablon kısıtlamaları arasındaki anlamsal farklılıkların neler olduğunu bilmek istiyorum (örneğin, Dlang'da görünen kısıtlamalar veya C ++ 1y için yeni kavramlar-lite önerisi ). Şablon kısıtlamalarının yapamadığından daha fazlasını yapabilen tam teşekküllü kavramlar nelerdir?
96 c++  c++11  d  c++-concepts 

2
C ++ 'da "bir işlevi zehirlemek" ne anlama gelir?
Scott Schurr'ın CppCon'daki "Tanıtıcı constexpr" konuşmasının en sonunda , "Bir işlevi zehirlemenin bir yolu var mı?" Diye soruyor. Daha sonra bunun (standart olmayan bir şekilde de olsa) şu şekilde yapılabileceğini açıklar: throwBir constexprişlevi bir işleve koymak Çözülmemiş ilan etmek extern const char* Çözülmemiş başvurulması externhalindethrow Burada derinliğimden biraz uzak olduğumu …
96 c++  constexpr 

3
Neden std :: stou yok?
C ++ 11, bazı yeni dize dönüştürme işlevleri ekledi: http://en.cppreference.com/w/cpp/string/basic_string/stoul Stoi (string'den int'e), stol (string'den long'a), stoll (string'den long'a), stoul (string'den unsigned long'a), stoull (string'den unsigned long'a kadar) içerir. Onun yokluğunda dikkate değer bir stou (dizeden işaretsiz) işlevidir. Gerekli olmamasına rağmen diğerlerinin hepsinin bir nedeni var mı? related: C ++ …
96 c++  string  c++11  std 

14
C ++ 'da bir dizeden belirli karakterler nasıl kaldırılır?
Örneğin, bir kullanıcının bir telefon numarası girmesi gerekiyor. cout << "Enter phone number: "; INPUT: (555) 555-5555 cin >> phone; Dizeden "(", ")" ve "-" karakterlerini kaldırmak istiyorum. Dizgeyi kaldır, bul ve değiştir işlevlerine baktım, ancak yalnızca konuma göre çalıştıklarını görüyorum. Örneğin, "(" karakterini geçirmek için kullanabileceğim ve bir dizedeki …
96 c++  string  character 


2
Bir bildirim, std ad alanını etkileyebilir mi?
#include <iostream> #include <cmath> /* Intentionally incorrect abs() which seems to override std::abs() */ int abs(int a) { return a > 0? -a : a; } int main() { int a = abs(-5); int b = std::abs(-5); std::cout<< a << std::endl << b << std::endl; return 0; } Çıktının -5ve …
96 c++  std  reserved 

17
İşlev işaretçilerinin amacı nedir?
İşlev işaretçilerinin faydasını görmekte güçlük çekiyorum. Bazı durumlarda faydalı olabileceğini tahmin ediyorum (sonuçta varlar), ancak bir işlev işaretçisi kullanmanın daha iyi veya kaçınılmaz olduğu bir durum düşünemiyorum. İşlev işaretçilerinin (C veya C ++ 'da) iyi kullanımına ilişkin bazı örnekler verebilir misiniz?
96 c++  c  function  pointers  c++-faq 

2
C ++ 'da Boost kullanarak UUID oluşturma örneği
Programımdaki örneklerin benzersiz tanımlayıcılara sahip olması önemli olduğundan, yalnızca rastgele UUID'ler oluşturmak istiyorum. Boost UUID'ye baktım , ancak hangi sınıf ve yöntemi kullanacağımı anlamadığım için UUID'yi oluşturmayı başaramıyorum. Biri bana bunun nasıl başarılacağına dair herhangi bir örnek verebilirse minnettar olurum.
96 c++  boost  uuid  boost-uuid 

5
Yalnızca hareket tipi bir vektörü listeleyebilir miyim?
Aşağıdaki kodu GCC 4.7 anlık görüntümden geçirirsem, s'leri unique_ptrvektöre kopyalamaya çalışır . #include <vector> #include <memory> int main() { using move_only = std::unique_ptr<int>; std::vector<move_only> v { move_only(), move_only(), move_only() }; } Açıkçası bu işe yaramaz çünkü std::unique_ptrkopyalanamaz: hata: silinmiş işlevin kullanımı 'std :: unique_ptr <_Tp, _Dp> :: unique_ptr (const std …


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.