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

11
Std :: kuyruğunu nasıl verimli bir şekilde temizleyebilirim?
JobQueue sınıfını uygulamak için std :: queue kullanıyorum. (Temel olarak bu sınıf her işi FIFO tarzında işler). Bir senaryoda, tek çekimde kuyruğu temizlemek istiyorum (kuyruktaki tüm işleri silmek). Std :: queue sınıfında herhangi bir net yöntem görmüyorum. JobQueue sınıfı için net yöntemi nasıl verimli bir şekilde uygularım? Bir döngü içinde …
166 c++  stl  queue 

8
Sabit referans olarak Lambda yakalama?
Lambda ifadesinde const referansı ile yakalamak mümkün müdür? Aşağıda işaretlenen atamanın başarısız olmasını istiyorum, örneğin: #include <cstdlib> #include <vector> #include <string> #include <algorithm> using namespace std; int main() { string strings[] = { "hello", "world" }; static const size_t num_strings = sizeof(strings)/sizeof(strings[0]); string best_string = "foo"; for_each( &strings[0], &strings[num_strings], [&best_string](const …
166 c++  c++11  lambda  c++14 

14
Öbek bozulması hataları nasıl ayıklanır?
Visual Studio 2008 altında bir (yerel) çok iş parçacıklı C ++ uygulamasında hata ayıklama. Görünüşe göre rastgele durumlarda, ben bir "Windows bir kırılma noktası tetikledi ..." hatası bunun bir bozukluğu nedeniyle olabilir yığın. Kısa süre sonra çökmesi muhtemel olsa da, bu hatalar her zaman uygulamayı hemen kilitlemez. Bu hatalarla ilgili …
166 c++  windows  debugging  heap 

2
“koşullu atlama veya hareket başlatılmamış değerlere bağlıdır” onaylama mesajı
Bu yüzden valgrind'den bazı gizemli başlatılmamış değerler mesajı alıyorum ve kötü değerin nereden kaynaklandığı oldukça gizemli. Görünüşe göre valgrind, birleştirilmiş değerin kullanıldığı yeri gösterir, ancak başlatılmamış değerin kaynağını göstermez. ==11366== Conditional jump or move depends on uninitialised value(s) ==11366== at 0x43CAE4F: __printf_fp (in /lib/tls/i686/cmov/libc-2.7.so) ==11366== by 0x43C6563: vfprintf (in /lib/tls/i686/cmov/libc-2.7.so) …
166 c++  valgrind 

1
Statik üye fonksiyonları hatası; İmza nasıl düzgün yazılır?
Geçerli imzayı kullanarak g ++ kodumu derlemeye çalışırken bir hata alıyorum: cannot declare member function static void Foo::Bar(std::ostream&, const Foo::Node*) to have static linkage Sorum iki yönlü: Neden bu şekilde derlenmiyor? Doğru imza nedir ve neden? C ++ kullanırken imzalar hep benim ölümüm oldu Düzenleme: İşte sınıf üstbilgisi dosyası da: …

9
Uçucu, çok iş parçacıklı C veya C ++ programlamasında neden yararlı değildir?
Son zamanlarda gönderdiğim bu cevapta gösterildiği gibi volatile, çok iş parçacıklı programlama bağlamlarının faydası (veya eksikliği) hakkında kafam karışmış gibi görünüyor . Benim anlayışım şudur: Bir değişken, ona erişen bir kod parçasının kontrol akışının dışında her değiştirilebildiğinde, bu değişken olduğu bildirilmelidir volatile. Sinyal işleyicileri, G / Ç kayıtları ve başka …


11
Bir alt sınıfa işaretçi silmek temel sınıf yıkıcısını çağırır mı?
Ben bir class Aalanlarından biri için yığın bellek ayırma kullanır. Sınıf A başlatılır ve başka bir sınıfta işaretçi alanı olarak depolanır ( class B. B sınıfı bir nesneyle işimi bitirdiğimde delete, yıkıcı olarak adlandırdığımı farz ediyorum ... Ama bu A sınıfının yıkıcısı mı diyor? Düzenle: Cevaplardan, bunu alıyorum (yanlışsa lütfen …

11
PImpl deyimi pratikte gerçekten kullanılıyor mu?
Herb Sutter'in "Olağanüstü C ++" kitabını okuyorum ve bu kitapta pImpl deyimini öğrendim. Temel olarak, fikir, a'nın privatenesneleri için bir yapı oluşturmak classve bunları derleme süresini azaltmak için dinamik olarak ayırmaktır (ve ayrıca özel uygulamaları daha iyi gizlemek). Örneğin: class X { private: C c; D d; } ; şu …
165 c++  oop  pimpl-idiom 

9
Windows (Visual C) için unistd.h yerine geçer mi?
Unix için yazılmış nispeten basit bir konsol programı Windows platformuna ( Visual C ++ 8.0 ) taşıyorum . Tüm kaynak dosyalar, var olmayan "unistd.h" dosyasını içerir. Bunu kaldırarak, 'srandom', 'random' ve 'getopt' için prototipleri kaçırmayla ilgili şikayetler alıyorum. Rastgele fonksiyonları değiştirebileceğimi biliyorum ve bir getopt uygulamasını bulabileceğim / hackleyebileceğimden eminim. …
165 c++  c  windows  portability  unistd.h 

3
İşlev imzalarında neden std :: enable_if kullanmam gerekiyor?
Scott Meyers bir sonraki kitabı EC ++ 11'in içeriğini ve statüsünü yayınladı . Kitaptaki bir öğenin " std::enable_ifİşlev imzalarından kaçın" olabileceğini yazdı . std::enable_if işlevleri veya sınıfları aşırı yük çözünürlüğünden koşullu olarak kaldırmak için işlev bağımsız değişkeni, dönüş türü veya sınıf şablonu veya işlev şablonu parametresi olarak kullanılabilir. Gelen bu …

3
Objective C ++ nedir? [kapalı]
Burada ne sorulduğunu söylemek zor. Bu soru belirsiz, belirsiz, eksik, aşırı geniş veya retoriktir ve mevcut haliyle makul bir şekilde cevaplanamaz. Bu sorunun yeniden açılabilmesi için açıklığa kavuşturulması konusunda yardım için yardım merkezini ziyaret edin . 7 yıl önce kapalı . Objective C ++ nedir ve bu dili Xcode'da kullanabilir …

11
Güçlü yazılan numaralandırmayı otomatik olarak int'e nasıl dönüştürebilirim?
#include <iostream> struct a { enum LOCAL_A { A1, A2 }; }; enum class b { B1, B2 }; int foo(int input) { return input; } int main(void) { std::cout << foo(a::A1) << std::endl; std::cout << foo(static_cast<int>(b::B2)) << std::endl; } a::LOCAL_AKesinlikle yazılı Çeteleler alçıda olmadan bunu yapamaz iken, normal çeteleler, …


12
Döngü için C ++ 'dan önce hiç görülmedi
Bir C ++ algoritması için C # dönüştürüyordum. Ben döngü için bu rastladım: for (u = b.size(), v = b.back(); u--; v = p[v]) b[u] = v; C ++ 'da hata vermez, ancak C #' da yapar (int boole dönüştürülemez). Bunu gerçekten döngü için anlayamıyorum, durum nerede? Birisi açıklayabilir mi …
164 c#  c++  for-loop 

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.