C ++ 17 to nazwa standardu C ++ zatwierdzonego w 2017 roku. Opiera się on na poprzednim standardzie C ++ 14, ulepszając podstawowy język i standardową bibliotekę oraz dodając kilka nowych funkcji językowych.
Zablokowana . To pytanie i odpowiedzi są zablokowane, ponieważ pytanie jest nie na temat, ale ma znaczenie historyczne. Obecnie nie akceptuje nowych odpowiedzi ani interakcji. C ++ 17 jest teraz kompletny, więc jest mało prawdopodobne, aby wystąpiły duże zmiany. Przedstawiono setki propozycji dla C ++ 17. Które z tych funkcji …
To FAQ dotyczy agregatów i POD i obejmuje następujące materiały: Co to są agregaty ? Co to są POD (zwykłe stare dane)? W jaki sposób są one powiązane? Jak i dlaczego są wyjątkowe? Jakie zmiany w C ++ 11?
Jakie są reguły unieważniania iteratora dla kontenerów C ++? Najlepiej w formie listy podsumowującej. (Uwaga: ma to być wpis do często zadawanych pytań na temat C ++ w programie Stack Overflow . Jeśli chcesz skrytykować pomysł podania w tym formularzu odpowiedzi na najczęściej zadawane pytania, to miejsce na meta, które …
W przeciwieństwie do wszystkich innych podobnych pytań, to pytanie dotyczy korzystania z nowych funkcji C ++. 2008 do Czy istnieje prosty sposób na konwersję wyliczenia C ++ na ciąg? 2008 do Łatwy sposób na użycie zmiennych typów wyliczeniowych jako łańcucha w C? 2008 c ++ Jak łatwo odwzorować wyliczenia c …
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?
std::string_viewdotarł do C ++ 17 i zaleca się używanie go zamiast const std::string&. Jednym z powodów jest wydajność. Czy ktoś może wyjaśnić, jak dokładnie std::string_view jest / będzie szybszy, niż const std::string&gdy zostanie użyty jako typ parametru? (załóżmy, że nie wykonano żadnych kopii w odbiorcy)
Zanim zaczniesz krzyczeć niezdefiniowane zachowanie, jest to wyraźnie wymienione w N4659 (C ++ 17) i = i++ + 1; // the value of i is incremented Jeszcze w N3337 (C ++ 11) i = i++ + 1; // the behavior is undefined Co się zmieniło? Z tego, co mogę zebrać, …
Jest dość głupi problem z liczbą pi w C i C ++. O ile wiem, M_PIdefinicja w math.hnie jest wymagana przez żaden standard. Nowe normy C ++ wprowadzono wiele skomplikowanych matematycznych w bibliotece standardowej - funkcje hiperboliczne, std::hermitei std::cyl_bessel_i, różnych generatorów liczb losowych i tak dalej i tak dalej. Czy …
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 ? Czy const …
C ++ 17 wprowadził nową klasę blokady o nazwie std::scoped_lock. Sądząc po dokumentacji, wygląda podobnie do już istniejącej std::lock_guardklasy. Jaka jest różnica i kiedy powinienem go używać?
Od C ++ 17 można napisać ifblok, który zostanie wykonany dokładnie raz w ten sposób: #include <iostream> int main() { for (unsigned i = 0; i < 10; ++i) { if (static bool do_once = true; do_once) { // Enter only once std::cout << "hello one-shot" << std::endl; // Possibly …
Rozważ ten dość bezużyteczny program: #include <iostream> int main(int argc, char* argv[]) { int a = 5; auto it = [&](auto self) { return [&](auto b) { std::cout << (a + b) << std::endl; return self(self); }; }; it(it)(4)(6)(42)(77)(999); } Zasadniczo próbujemy utworzyć lambdę, która sama się zwraca. MSVC kompiluje …
Na spotkaniu Oulu ISO C ++ w 2016 r ., Komitet normalizacyjny przegłosował propozycję o nazwie Inline Variables w języku C ++ 17. Mówiąc prościej, czym są zmienne wbudowane, jak działają i do czego są przydatne? W jaki sposób należy deklarować, definiować i stosować zmienne wbudowane?
Oto dokumentacja dotycząca cppreference , tutaj jest robocza wersja robocza. Muszę przyznać, że nie rozumiałem, jaki jest prawdziwy cel polymorphic_allocatori kiedy / dlaczego / jak mam go używać. Na przykład pmr::vectorma następujący podpis: namespace pmr { template <class T> using vector = std::vector<T, polymorphic_allocator<T>>; } Co polymorphic_allocatoroferuje ta oferta? Co …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.