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


5
.H.gch dosyası nedir?
Yakın zamanda G ++ ile program yapmam gereken bir sınıf projem vardı. Makefile kullandım ve nedense bazen bir .h.gch dosyasını geride bıraktı. Bazen bu, derlemeyi etkilemiyordu, ancak sık sık derleyicinin düzeltilmiş veya anlamsız bir sorun için hata vermesine neden oluyordu. İki sorum var: 1) .h.gch dosyası nedir ve ne için …
116 c++  g++ 

4
Bir for döngüsü içinde if deyiminden kaçınmak mı?
Böyle Writerbir işlevi olan bir sınıfım var writeVector: void Drawer::writeVector(vector<T> vec, bool index=true) { for (unsigned int i = 0; i < vec.size(); i++) { if (index) { cout << i << "\t"; } cout << vec[i] << "\n"; } } Hala performans konusunda endişelenirken, yinelenen bir koda sahip olmamaya …

5
C ++ kod çözücü var mı? [kapalı]
Kapalı. Bu soru Yığın Taşması yönergelerini karşılamıyor . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek mi istiyorsunuz? Yığın Taşması için konuya uygun olması için soruyu güncelleyin . 3 yıl önce kapalı . Bu soruyu geliştirin C ++ kaynak kodunu kaybettiğim bir programım var. Orada iyi C ++ çözücüler var …

8
İki boyutlu bir std :: vektör başlatmak
Yani, aşağıdakilere sahibim: std::vector< std::vector <int> > fog; ve bunu çok saf bir şekilde başlatıyorum: for(int i=0; i<A_NUMBER; i++) { std::vector <int> fogRow; for(int j=0; j<OTHER_NUMBER; j++) { fogRow.push_back( 0 ); } fog.push_back(fogRow); } Ve bu çok yanlış geliyor ... Bunun gibi bir vektörü başlatmanın başka bir yolu var mı?
116 c++  vector 

4
"Const shared_ptr <T>" ve "shared_ptr <const T>" arasındaki fark nedir?
C ++ 'da paylaşılan bir işaretçi için aşağıdaki gibi bir erişimci yöntemi yazıyorum: class Foo { public: return_type getBar() const { return m_bar; } private: boost::shared_ptr&lt;Bar&gt; m_bar; } Dolayısıyla getBar(), dönüş türünün sabitliğini desteklemek için boost::shared_ptr, Barişaret ettiği değişikliklerin değiştirilmesini engelleyen bir olmalıdır . Benim tahminim ki shared_ptr&lt;const Bar&gt;ben oysa, …
116 c++  boost  const  shared-ptr 


5
CMake çıktı / derleme dizini
CMake'de oldukça yeniyim ve nasıl kullanılacağına dair birkaç öğretici okudum ve 3 farklı derleyici için bir program yapmak için karmaşık 50 satırlık CMake betiği yazdım. Bu muhtemelen CMake'deki tüm bilgilerimi tamamlıyor. Şimdi benim sorunum, programı hazırlarken klasörüne dokunmak / karıştırmak istemediğim bir kaynak kodum olması. Tüm CMake ve makeçıktı dosyalarının …
116 c++  build  makefile  cmake  output 


4
Std :: swap () nasıl aşırı yüklenir
std::swap()birçok standart konteyner tarafından kullanılır (örneğin std::listvestd::vector ) tarafından sıralama ve hatta atama sırasında kullanılır. Ancak swap()öğesinin standart uygulaması çok genelleştirilmiştir ve özel türler için oldukça verimsizdir. Böylece, std::swap()özel tipe özgü bir uygulama ile aşırı yükleme ile verimlilik elde edilebilir . Ancak, standart konteynerler tarafından kullanılması için onu nasıl uygulayabilirsiniz?


4
C ++ 'da, eğer throw bir ifadeyse, türü nedir?
Bunu reddit için kısa sürelerimden birinde aldım: http://www.smallshire.org.uk/sufficientlysmall/2009/07/31/in-c-throw-is-an-expression/ Temel olarak yazar, C ++ 'da şunu belirtir: throw "error" bir ifadedir. Bu aslında hem ana metinde hem de dilbilgisinde C ++ Standardında oldukça açık bir şekilde ifade edilmiştir. Bununla birlikte, net olmayan şey (en azından benim için) ifadenin türü nedir? " …
115 c++  throw 

17
C ++ - başvuruları std :: shared_ptr veya boost :: shared_ptr'ye iletme
A ile çalışması gereken bir işleve shared_ptrsahipsem, ona bir referans iletmek ( shared_ptrnesneyi kopyalamaktan kaçınmak için) daha verimli olmaz mıydı ? Olası kötü yan etkiler nelerdir? İki olası durum öngörüyorum: 1) işlevin içinde argümanın bir kopyası yapılır, örneğin ClassA::take_copy_of_sp(boost::shared_ptr&lt;foo&gt; &amp;sp) { ... m_sp_member=sp; //This will copy the object, incrementing refcount …


4
Önişlemci makrolarından platform / derleyici nasıl belirlenir?
Linux, Windows, Mac OS'de derlenmesi gereken bir çapraz platform kodu yazıyorum. Windows'ta görsel stüdyoyu ve mingw'i desteklemeliyim. Ortama yerleştirmem gereken bazı platforma özgü kod parçaları var #ifdef .. #endif. Örneğin, buraya win32'ye özel bir kod yerleştirdim: #ifdef WIN32 #include &lt;windows.h&gt; #endif Peki Linux ve Mac OS'yi nasıl tanıyabilirim? Tanımlama isimleri …

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.