Pytania otagowane jako c++

C ++ jest językiem programowania ogólnego przeznaczenia. Został pierwotnie zaprojektowany jako rozszerzenie do C i ma podobną składnię, ale teraz jest to zupełnie inny język. Ten znacznik służy do pytań o kod (kompilowany) za pomocą kompilatora C ++. Użyj tagu specyficznego dla wersji w przypadku pytań związanych z określoną wersją standardową [C ++ 11], [C ++ 14], [C ++ 17] lub [C ++ 20] itp.


5
Co to jest plik .h.gch?
Niedawno miałem projekt klasowy, w którym musiałem stworzyć program z G ++. Użyłem pliku makefile iz jakiegoś powodu czasami pozostawiał on plik .h.gch. Czasami nie miało to wpływu na kompilację, ale co jakiś czas powodowało to, że kompilator wyświetlał błąd dotyczący problemu, który został naprawiony lub który nie miał sensu. …
116 c++  g++ 

4
Unikasz instrukcji if wewnątrz pętli for?
Mam klasę o nazwie, Writerktóra ma taką funkcję 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"; } } Staram się nie mieć duplikatu kodu, jednocześnie martwiąc …

5
Czy istnieje dekompilator C ++? [Zamknięte]
Zamknięte. To pytanie nie spełnia wytycznych dotyczących przepełnienia stosu . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było na temat przepełnienia stosu. Zamknięte 3 lata temu . Popraw to pytanie Mam program, w którym zgubiłem kod źródłowy C ++. Czy są tam jakieś dobre dekompilatory C …

8
Inicjalizacja dwuwymiarowego std :: vector
Mam więc następujące rzeczy: std::vector< std::vector <int> > fog; i inicjalizuję go bardzo naiwnie: 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); } I czuje się bardzo źle ... Czy jest inny sposób inicjalizacji takiego wektora?
116 c++  vector 

4
Różnica między `const shared_ptr <T>` i `shared_ptr <const T>`?
Piszę metodę akcesora dla współdzielonego wskaźnika w C ++, która wygląda mniej więcej tak: class Foo { public: return_type getBar() const { return m_bar; } private: boost::shared_ptr&lt;Bar&gt; m_bar; } Tak więc, aby obsługiwać stałą getBar()zwracanego typu, powinno być a, boost::shared_ptrktóre zapobiega modyfikacji wskazanego przez Barniego. Moje przypuszczenie jest to, że …
116 c++  boost  const  shared-ptr 

5
Katalog wyjściowy / kompilacji CMake
Jestem całkiem nowy w CMake i przeczytałem kilka samouczków o tym, jak go używać, i napisałem kilka skomplikowanych 50 linii skryptu CMake, aby stworzyć program dla 3 różnych kompilatorów. To prawdopodobnie kończy całą moją wiedzę o CMake. Teraz mój problem polega na tym, że mam kod źródłowy, którego folderu nie …
116 c++  build  makefile  cmake  output 


4
Jak przeładować std :: swap ()
std::swap()jest używany przez wiele kontenerów standardowych (takich jak std::listi std::vector) podczas sortowania, a nawet przypisywania. Jednak standardowa implementacja programu swap()jest bardzo uogólniona i raczej nieefektywna dla typów niestandardowych. W ten sposób wydajność można uzyskać przez przeciążenie std::swap()implementacją specyficzną dla niestandardowego typu. Ale jak można go zaimplementować, aby był używany przez …


4
W C ++, jeśli throw jest wyrażeniem, jaki jest jego typ?
Podniosłem to podczas jednej z moich krótkich wypraw na reddit: http://www.smallshire.org.uk/sufficientlysmall/2009/07/31/in-c-throw-is-an-expression/ Zasadniczo autor zwraca uwagę, że w C ++: throw "error" jest wyrażeniem. W rzeczywistości jest to dość jasno opisane w standardzie C ++, zarówno w tekście głównym, jak i gramatyce. Jednak nie jest jasne (przynajmniej dla mnie), jaki jest …
115 c++  throw 

17
C ++ - przekazywanie referencji do std :: shared_ptr lub boost :: shared_ptr
Jeśli mam funkcję, która musi współpracować z a shared_ptr, czy nie byłoby bardziej wydajne przekazanie jej odwołania do niej (aby uniknąć kopiowania shared_ptrobiektu)? Jakie są możliwe złe skutki uboczne? Wyobrażam sobie dwa możliwe przypadki: 1) wewnątrz funkcji tworzona jest kopia argumentu, jak w ClassA::take_copy_of_sp(boost::shared_ptr&lt;foo&gt; &amp;sp) { ... m_sp_member=sp; //This will …


4
Jak zidentyfikować platformę / kompilator na podstawie makr preprocesora?
Piszę kod wieloplatformowy, który powinien być kompilowany pod linuxem, Windows, Mac OS. W systemie Windows muszę obsługiwać Visual Studio i mingw. Jest kilka fragmentów kodu specyficznego dla platformy, które powinienem umieścić w #ifdef .. #endifśrodowisku. Na przykład tutaj umieściłem kod specyficzny dla win32: #ifdef WIN32 #include &lt;windows.h&gt; #endif Ale jak …


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.