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

4
Optimize ediciyi bir tamsayı aralığı vererek ipucu verebilir miyim?
intBir değeri saklamak için bir tür kullanıyorum . Programın anlambilimiyle, değer her zaman çok küçük bir aralıkta değişir (0 - 36) ve int(a değil char) yalnızca CPU verimliliği nedeniyle kullanılır. Bu kadar az sayıda tamsayı üzerinde birçok özel aritmetik optimizasyon yapılabiliyor gibi görünüyor. Bu tamsayılardaki birçok işlev çağrısı, küçük bir …


3
Kopya oluşturucuyu devre dışı bırak
Sınıfım var : class SymbolIndexer { protected: SymbolIndexer ( ) { } public: static inline SymbolIndexer & GetUniqueInstance ( ) { static SymbolIndexer uniqueinstance_ ; return uniqueinstance_ ; } }; Aşağıdaki gibi kodu devre dışı bırakmak için nasıl değiştirmeliyim: SymbolIndexer symbol_indexer_ = SymbolIndexer::GetUniqueInstance ( ); ve yalnızca aşağıdaki gibi kodlara …


13
Satır içi sanal işlevler gerçekten mantıklı değil mi?
Sanal işlevler satır içinde olması gerektiğini söyleyerek bir kod inceleme yorum aldığımda bu soruyu aldım. Satır içi sanal işlevlerin, işlevlerin doğrudan nesneler üzerinde çağrıldığı senaryolarda kullanışlı olabileceğini düşündüm. Ama aklıma gelen karşı argüman - neden sanal tanımlamak ve sonra yöntemleri çağırmak için nesneleri kullanmak istesin ki? Neredeyse hiç genişletilmedikleri için …



2
bir diziyle paylaşılan_ptr: kullanılmalı mı?
İle ilgili sadece küçük bir sorgu shared_ptr . shared_ptrBir diziyi göstermeyi kullanmak iyi bir uygulama mı? Örneğin, shared_ptr<int> sp(new int[10]); Eğer değilse, peki neden değil? Zaten farkında olduğum bir nedeni, arttıramaz / azaltamaz shared_ptr. Bu nedenle, bir diziye normal bir işaretçi gibi kullanılamaz.
172 c++  c++11  shared-ptr 


11
Birden çok .cpp ve .h dosyasını derlemek için G ++ kullanma
Ben sadece ana ve diğer fonksiyonların bir demet içeren bir cpp dosyası ile kötü yazılmış bazı C ++ kodu miras. .hSınıfları ve işlev tanımlarını içeren dosyalar da vardır . Şimdiye kadar program komut kullanılarak derlendi g++ main.cpp. Şimdi sınıfları ayırdım .hve .cppdosyaları bir makefile kullanmam gerekir g++ main.cppmi yoksa hala …

4
GCC 5.4.0 ile pahalı bir sıçrama
Ben (sadece önemli kısmı gösteren) böyle görünüyordu bir işlevi vardı: double CompareShifted(const std::vector<uint16_t>& l, const std::vector<uint16_t> &curr, int shift, int shiftY) { ... for(std::size_t i=std::max(0,-shift);i<max;i++) { if ((curr[i] < 479) && (l[i + shift] < 479)) { nontopOverlap++; } ... } ... } Bu şekilde yazıldığında, işlev makinemde ~ 34ms …
171 c++  gcc 


7
Objective-C'nin C ++ ile farkı nedir? [kapalı]
Şu anda olduğu gibi, bu soru Soru-Cevap formatımıza uygun değil. Yanıtların gerçekler, referanslar veya uzmanlık tarafından desteklenmesini bekliyoruz, ancak bu soru muhtemelen tartışma, tartışma, oylama veya genişletilmiş tartışma talep edecektir. Bu sorunun çözülebileceğini ve muhtemelen yeniden açılabileceğini düşünüyorsanız, yardım için yardım merkezini ziyaret edin . 7 yıl önce kapalı . …
171 c++  objective-c 

17
Nasıl bir çift C ++ dize dönüştürür?
Bir dize olarak bir çift depolamak gerekir. Bunu printfgörüntülemek istedim eğer kullanabilirsiniz biliyorum , ama ben daha sonra bir harita ( değer olarak , anahtar olarak ) saklayabilirsiniz böylece bir dize değişkeni saklamak istiyorum .
171 c++  string  double 

2
Lambdas neden derleyici tarafından düz işlevlerden daha iyi optimize edilebilir?
The C++ Standard Library (Second Edition)Nicolai Josuttis adlı kitabında lambdasların derleyici tarafından düz işlevlerden daha iyi optimize edilebileceğini belirtiyor. Ayrıca, C ++ derleyicileri lambdaları sıradan işlevlerden daha iyi optimize eder. (Sayfa 213) Neden? Inlining söz konusu olduğunda artık bir fark olmaması gerektiğini düşündüm. Düşünebilmemin tek nedeni, derleyicilerin lambdalarla daha iyi …

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.