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.

14
Konwersja bool na tekst w C ++
Może to głupie pytanie, ale czy istnieje sposób na przekonwertowanie wartości logicznej na ciąg znaków w taki sposób, że 1 zamienia się w „prawda”, a 0 w „fałsz”? Mógłbym po prostu użyć instrukcji if, ale byłoby miło wiedzieć, czy można to zrobić z językiem lub standardowymi bibliotekami. Poza tym jestem …
93 c++  string  boolean 

6
Dlaczego C ++ zabrania anonimowych struktur?
Niektóre kompilatory C ++ zezwalają na anonimowe związki i struktury jako rozszerzenie standardowego C ++. Jest to trochę cukru syntaktycznego, który czasami jest bardzo pomocny. Jakie jest uzasadnienie, które uniemożliwia to, aby stało się to częścią normy? Czy istnieje techniczna blokada drogowa? Filozoficzny? Czy po prostu nie ma wystarczającej potrzeby …
93 c++  struct  unions 

4
Parametry szablonu innego niż typ
Rozumiem, że parametr szablonu innego niż typ powinien być stałym wyrażeniem integralnym. Czy ktoś może rzucić światło, dlaczego tak jest? template <std::string temp> void foo() { // ... } error C2993: 'std::string' : illegal type for non-type template parameter 'temp'. Rozumiem, czym jest stała integralna ekspresja. Jakie są powody, dla …
93 c++  templates 


8
Którego kontenera STL powinienem użyć do FIFO?
Który pojemnik STL najlepiej pasowałby do moich potrzeb? Zasadniczo mam pojemnik o szerokości 10 elementów, w którym ciągle wprowadzam push_backnowe elementy, podczas pop_frontgdy najstarszy element (około milion razy). Obecnie używam std::dequedo tego zadania, ale zastanawiałem się, czy a std::listbyłoby bardziej wydajne, ponieważ nie musiałbym zmieniać swojej alokacji (a może mylę …
93 c++  stl  fifo 

3
Jawny zwracany typ Lambda
Kiedy próbuję skompilować ten kod (VS2010), pojawia się następujący błąd: error C3499: a lambda that has been specified to have a void return type cannot return a value void DataFile::removeComments() { string::const_iterator start, end; boost::regex expression("^\\s?#"); boost::match_results<std::string::const_iterator> what; boost::match_flag_type flags = boost::match_default; // Look for lines that either start with …


3
Jak wymusić semantykę ruchu, gdy wektor rośnie?
Mam std::vectorobiekty określonej klasy A. Klasa jest nietrywialna i ma zdefiniowane konstruktory kopiujące i przenoszące. std::vector<A> myvec; Jeśli wypełnię wektor Aobiektami (używając np. myvec.push_back(a)), Wektor będzie się powiększał, używając konstruktora kopiującego A( const A&)do tworzenia nowych kopii elementów w wektorze. Czy mogę w jakiś sposób wymusić, że Azamiast tego używany …

5
jak znaleźć przecięcie dwóch std :: set w C ++?
Próbowałem znaleźć punkt przecięcia między dwoma std :: ustawionymi w C ++, ale ciągle otrzymuję błąd. Stworzyłem do tego mały przykładowy test #include <iostream> #include <vector> #include <algorithm> #include <set> using namespace std; int main() { set<int> s1; set<int> s2; s1.insert(1); s1.insert(2); s1.insert(3); s1.insert(4); s2.insert(1); s2.insert(6); s2.insert(3); s2.insert(0); set_intersection(s1.begin(),s1.end(),s2.begin(),s2.end()); return …

10
Przyrost w C ++ - Kiedy używać x ++ lub ++ x?
Obecnie uczę się C ++, a o inkrementacji dowiedziałem się jakiś czas temu. Wiem, że możesz użyć „++ x”, aby dokonać inkrementacji przed i „x ++”, aby zrobić to po. Mimo to naprawdę nie wiem, kiedy użyć któregokolwiek z tych dwóch… Tak naprawdę nigdy nie użyłem „++ x” i jak …


7
Sprawdzanie zawartości standardowego kontenera (std :: map) za pomocą gdb
Przypuśćmy, że mamy coś takiego: #include <map> int main(){ std::map<int,int> m; m[1] = 2; m[2] = 4; return 0; } Chciałbym móc sprawdzić zawartość mapy, na której działa program z gdb. Jeśli spróbuję użyć operatora indeksu dolnego, otrzymam: (gdb) p m[1] Attempt to take address of value not located in …
93 c++  stl  map  gdb 

21
Konwertuj wektor <int> na ciąg
Mam vector&lt;int&gt;kontener zawierający liczby całkowite (np. {1,2,3,4}) i chciałbym zamienić na ciąg znaków w postaci "1,2,3,4" Jaki jest najczystszy sposób na zrobienie tego w C ++? W Pythonie tak bym to zrobił: &gt;&gt;&gt; array = [1,2,3,4] &gt;&gt;&gt; ",".join(map(str,array)) '1,2,3,4'
93 c++  vector  tostring 

8
std :: map insert lub std :: map find?
Zakładając mapę, na której chcesz zachować istniejące wpisy. W 20% przypadków wpis, który wstawiasz, to nowe dane. Czy jest korzyść z robienia std :: map :: find then std :: map :: insert przy użyciu tego zwróconego iteratora? A może szybciej jest próba wstawienia, a następnie działanie w oparciu o …
93 c++  optimization  stl  stdmap 

2
Funkcja dla struktury C ++
Zwykle możemy zdefiniować zmienną dla struktury C ++, tak jak w struct foo { int bar; }; Czy możemy również zdefiniować funkcje dla struktury? Jak wykorzystamy te funkcje?
93 c++  function  struct 

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.