Pytania oznaczone «c++»

163
Jakie są zalety korzystania z nullptr?

Ten fragment kodu koncepcyjnie robi to samo dla trzech wskaźników (bezpieczna inicjalizacja wskaźnika): int* p1 = nullptr; int* p2 = NULL; int* p3 = 0; A więc jakie są zalety przypisywania wskaźników nullptrnad przypisywaniem im wartości NULLlub

162
Co to jest string_view?

string_viewbył proponowaną funkcją w C ++ Library Fundamentals TS ( N3921 ) dodanym do C ++ 17 O ile rozumiem, jest to typ, który reprezentuje pewnego rodzaju „koncepcję” ciągu, czyli widok dowolnego typu kontenera, który może przechowywać coś, co można zobaczyć jako ciąg. Czy to jest poprawne ?...

161
Jak uniknąć przepełnienia w wyrażeniu. A * B - C * D

Muszę obliczyć wyrażenie, które wygląda następująco:, A*B - C*Dgdzie ich typy to: signed long long int A, B, C, D; Każda liczba może być naprawdę duża (nie przepełniać swojego typu). Chociaż A*Bmoże spowodować przepełnienie, w tym samym czasie wyrażenieA*B - C*D może być naprawdę małe. Jak mogę to...

161
std :: function vs template

Dzięki C ++ 11 otrzymaliśmy std::functionrodzinę wrapperów funktorów. Niestety ciągle słyszę tylko złe rzeczy o tych nowych dodatkach. Najbardziej popularne jest to, że są strasznie powolne. Przetestowałem to i naprawdę są do niczego w porównaniu z szablonami. #include <iostream> #include...

161
Dlaczego wymagamy wymagań?

Jednym z rogów koncepcji C ++ 20 jest to, że są pewne sytuacje, w których musisz pisać requires requires. Na przykład ten przykład z [wyr.prim.req] / 3 : Wymaga ekspresja może być również stosowany w wymaga-klauzula ([temp]) jako sposób pisania ograniczenia ad hoc dotyczący argumentów szablonu,...

160
Stos, statyczne i sterty w C ++

Szukałem, ale nie rozumiałem zbyt dobrze tych trzech pojęć. Kiedy muszę używać alokacji dynamicznej (w stercie) i jaka jest jej prawdziwa zaleta? Jakie są problemy ze statowaniem i stosem? Czy mogę napisać całą aplikację bez przydzielania zmiennych w stercie? Słyszałem, że inne języki zawierają...

160
Jak uzyskać wskaźnik std :: vector do surowych danych?

Próbuję użyć std::vector jako chartablicy. Moja funkcja przyjmuje void pointer: void process_data(const void *data); Wcześniej po prostu użyłem tego kodu: char something[] = "my data here"; process_data(something); Który działał zgodnie z oczekiwaniami. Ale teraz potrzebuję dynamiki...

159
„typeid” kontra „typeof” w C ++

Zastanawiam się, jaka jest różnica między typeidiw typeofC ++. Oto co wiem: typeidjest wspomniana w dokumentacji dla type_info, która jest zdefiniowana w pliku nagłówkowym C ++ typeinfo . typeofjest zdefiniowany w rozszerzeniu GCC dla języka C oraz w bibliotece C ++ Boost . Tutaj jest również...