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.

1
Jaki jest cel std :: prania?
P0137 wprowadza szablon funkcji std::launderi wprowadza wiele, wiele zmian w standardzie w sekcjach dotyczących związków, czasu życia i wskaźników. Jaki problem rozwiązuje ten papier? Jakie zmiany w języku muszę znać? A co my launder?


21
Zwracanie wielu wartości z funkcji C ++
Czy istnieje preferowany sposób zwracania wielu wartości z funkcji C ++? Na przykład wyobraź sobie funkcję, która dzieli dwie liczby całkowite i zwraca zarówno iloraz, jak i resztę. Jednym ze sposobów, które często widzę, jest użycie parametrów odniesienia: void divide(int dividend, int divisor, int& quotient, int& remainder); Odmianą jest zwrócenie …
242 c++ 


6
Dlaczego wykorzystywane są nienazwane przestrzenie nazw i jakie są ich zalety?
Właśnie dołączyłem do nowego projektu oprogramowania C ++ i staram się zrozumieć projekt. Projekt często wykorzystuje nienazwane przestrzenie nazw. Na przykład coś takiego może wystąpić w pliku definicji klasy: // newusertype.cc namespace { const int SIZE_OF_ARRAY_X; const int SIZE_OF_ARRAY_Y; bool getState(userType*,otherUserType*); } newusertype::newusertype(...) {... Jakie są względy projektowe, które mogą …
242 c++  oop  namespaces 

21
Jak sprawdzić, czy C ++ std :: string zaczyna się od określonego ciągu i przekonwertować podłańcuch na int?
Jak zaimplementować następujące (pseudokod Python) w C ++? if argv[1].startswith('--foo='): foo_value = int(argv[1][len('--foo='):]) (Na przykład, jeśli argv[1]jest --foo=98, to foo_valuejest 98.) Aktualizacja: waham się, czy zagłębić się w Boost, ponieważ chcę tylko dokonać niewielkiej zmiany w prostym, małym narzędziu wiersza poleceń (wolałbym nie uczyć się, jak łączyć się i używać …

4
(-2147483648> 0) zwraca true w C ++?
-2147483648 jest najmniejszą liczbą całkowitą dla typu liczb całkowitych z 32 bitami, ale wydaje się, że przepełni się w if(...)zdaniu: if (-2147483648 > 0) std::cout << "true"; else std::cout << "false"; Zostanie to wydrukowane truepodczas moich testów. Jeśli jednak użyjemy -2147483648 na liczbę całkowitą, wynik będzie inny: if (int(-2147483648) > …


12
Bardzo szybkie pisanie pliku binarnego w C ++
Próbuję zapisać ogromne ilości danych na moim dysku SSD (dysk SSD). I przez ogromne kwoty mam na myśli 80 GB. Przeglądałem sieć w poszukiwaniu rozwiązań, ale najlepsze, jakie wymyśliłem, to: #include <fstream> const unsigned long long size = 64ULL*1024ULL*1024ULL; unsigned long long a[size]; int main() { std::fstream myfile; myfile = …

6
Jak poprawnie zaimplementować niestandardowe iteratory i const_iterators?
Mam niestandardową klasę kontenera, dla której chciałbym napisać klasy iteratori const_iterator. Nigdy wcześniej tego nie robiłem i nie znalazłem odpowiedniego poradnika. Jakie są wytyczne dotyczące tworzenia iteratorów i o czym powinienem wiedzieć? Chciałbym również uniknąć powielania kodu (czuję to const_iteratori iteratordzielę się wieloma rzeczami; czy jedna z nich należy podklasować? …

10
Jak podsumować elementy wektora C ++?
Jakie są dobre sposoby na znalezienie sumy wszystkich elementów w std::vector? Załóżmy, że mam wektor std::vector<int> vectorz kilkoma elementami. Teraz chcę znaleźć sumę wszystkich elementów. Jakie są różne sposoby na to samo?
240 c++  stl  vector 



12
Czy potrafisz usunąć elementy ze standardowej listy podczas iteracji?
Mam kod, który wygląda następująco: for (std::list<item*>::iterator i=items.begin();i!=items.end();i++) { bool isActive = (*i)->update(); //if (!isActive) // items.remove(*i); //else other_code_involving(*i); } items.remove_if(CheckItemNotActive); Chciałbym usunąć nieaktywne elementy natychmiast po ich aktualizacji, aby uniknąć ponownego przeglądania listy. Ale jeśli dodam skomentowane wiersze, pojawia się błąd, gdy dochodzę do i++: „Nie można zwiększać iteratora …
239 c++  list  std 


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.