Pytania oznaczone «c++17»

1007
Jakie są nowe funkcje w C ++ 17?

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....

543
Reguły unieważniania iteratora

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,...

242
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

186
Co sprawiło, że i = i ++ + 1; legalny w C ++ 17?

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ć, z [N4659 basic.exec] O ile nie...

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 ?...

124
Jak działają zmienne wbudowane?

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...

124
Lambda powraca: czy to legalne?

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...

98
Błąd konsolidatora Experimental :: filesystem

Staram się używać nowych funkcji c ++ 1z na czele rozwoju w gcc 6.0. Jeśli spróbuję tego małego przykładu: #include <iostream> #include <experimental/filesystem> namespace fs = std::experimental::filesystem; int main() { fs::path p1 = "/home/pete/checkit"; std::cout << "p1...

96
Po co używać std :: make_unique w C ++ 17?

O ile rozumiem, wprowadzono C ++ 14 std::make_unique, ponieważ w wyniku nieokreślenia kolejności oceny parametrów było to niebezpieczne: f(std::unique_ptr<MyClass>(new MyClass(param)), g()); // Syntax A (Wyjaśnienie: jeśli ocena najpierw przydzieli pamięć dla surowego wskaźnika, a...

89
Jak działa gwarantowana eliminacja kopii?

Na spotkaniu Oulu ISO C ++ w 2016 r ., Komitet normalizacyjny przegłosował propozycję o nazwie Gwarantowane eliminowanie kopii poprzez uproszczone kategorie wartości w języku C ++ 17. Jak dokładnie działa gwarantowana eliminacja kopii? Czy obejmuje niektóre przypadki, w których usunięcie kopii...