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

3
Hangi iomanip manipülatörleri 'yapışkan'?
Son zamanlarda, açıkça değiştirinceye kadar, stringstreamyanlış bir şekilde std::setw()her ekleme için dize akışını etkileyeceğini varsaydığım için bir sorun yarattım. Ancak, yerleştirme işleminden sonra her zaman ayarlanmamıştır. // With timestruct with value of 'Oct 7 9:04 AM' std::stringstream ss; ss.fill('0'); ss.setf(ios::right, ios::adjustfield); ss << setw(2) << timestruct.tm_mday; ss << timestruct.tm_hour; ss …
140 c++  c++-faq 


5
Ne zaman std :: thread :: detach kullanmalıyım?
Bazen std::threadbaşvurumu hızlandırmak için kullanmalıyım . Ayrıca join()bir iş parçacığı tamamlanana kadar beklediğini biliyorum . Bunu anlamak kolaydır, ancak çağırmak detach()ve çağırmamak arasındaki fark nedir? Ben olmadan detach(), iplik yöntemi bağımsız olarak bir iplik kullanarak çalışacağını düşündüm . Sökülmüyor: void Someclass::Somefunction() { //... std::thread t([ ] { printf("thread called without …
140 c++  c++11  stdthread 

11
'For' döngüsü kullanarak C ++ Vector üzerinden yineleme
C ++ dilinde yeniyim. Vektörleri kullanmaya başladım ve tüm kodlarda, indeksler yoluyla bir vektör olsa da yinelemeyi gördüğümü fark ettim, fordöngünün ilk parametresi her zaman vektörü temel alan bir şeydir. Java bir ArrayList ile böyle bir şey yapabilir: for(int i=0; i < vector.size(); i++){ vector[i].doSomething(); } Bunu C ++ 'da …

12
Kullanıcı tanımlı değişmez değerler C ++ 'a hangi yeni özellikleri ekler?
C ++ 11 tanıtır kullanıcı tanımlı değişmezleri (mevcut değişmezleri dayalı yeni hazır sözdizimi giriş sağlayacak int, hex, string,float ), böylece her türlü değişmez bir sunum için mümkün olacaktır. Örnekler: // imaginary numbers std::complex<long double> operator "" _i(long double d) // cooked form { return std::complex<long double>(0, d); } auto val …


4
Oto'yu neden özel tipte kullanabilirim?
Bir şekilde aşağıdaki kodun derlenip çalıştığına şaşırdım (vc2012 & gcc4.7.2) class Foo { struct Bar { int i; }; public: Bar Baz() { return Bar(); } }; int main() { Foo f; // Foo::Bar b = f.Baz(); // error auto b = f.Baz(); // ok std::cout << b.i; } Bu …

3
Etkili C ++ hala etkili midir?
Bu yazıda gördüklerimden Etkili C ++ kitabını okumaya karar verdim . Ama şimdi C ++ 11 nedeniyle birçok yeni özellik var ve iyi uygulamalardan birkaçının değiştiğine göre, aslında iyi bir fikir olup olmadığından emin değilim. C ++ 11'in ortaya çıkışı, Effective C ++ 'da yer alan tavsiyelerin herhangi birini reddetti …

2
CMake: Birim testleri ile proje yapısı
Projemi, üretim kaynaklarını ( srcalt klasörde) ve testleri (alt klasörde) içerecek şekilde yapılandırmaya çalışıyorum test. Bunu oluşturmak için CMake kullanıyorum. Minimal bir örnek olarak aşağıdaki dosyaları var: CMakeLists.txt: cmake_minimum_required (VERSION 2.8) project (TEST) add_subdirectory (src) add_subdirectory (test) src / CMakeLists.txt: add_executable (demo main.cpp sqr.cpp) src / sqr.h #ifndef SQR_H #define …



5
Bir noktayı başka bir nokta etrafında döndürme (2D)
Kartların çıktığı yerde bir kart oyunu yapmaya çalışıyorum. Şimdi göstermek için bir işlevi olan Allegro API kullanarak Im: al_draw_rotated_bitmap(OBJECT_TO_ROTATE,CENTER_X,CENTER_Y,X ,Y,DEGREES_TO_ROTATE_IN_RADIANS); bu sayede fan efektimi kolayca yapabilirim. Sorun daha sonra hangi kartın farenin altında olduğunu bilmektir. Bunu yapmak için çokgen çarpışma testi yapmayı düşündüm. Çokgeni oluşturmak için karttaki 4 noktanın nasıl …
139 c++  algorithm 


2
Taşınan bir nesne ile ne yapabilirim?
Standart, bir nesne taşındıktan sonra ne yapabileceğimi kesin olarak tanımlıyor mu? Taşınan bir nesne ile yapabileceğiniz tek şeyin onu yıkmak olduğunu düşünürdüm, ama bu yeterli olmazdı. Örneğin, işlev şablonunu swapstandart kitaplıkta tanımlandığı gibi alın: template <typename T> void swap(T& a, T& b) { T c = std::move(a); // line 1 …


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.