C ++ 20 jest celem wersji C ++ po C ++ 17. Tego znacznika należy używać (wraz ze znacznikiem C ++) w pytaniach dotyczących funkcji C ++ na ścieżce dla C ++ 20.
W C ++ 20 <algorithm>nagłówek zyskuje dwa nowe algorytmy: shift_left()ishift_right() . Oba akceptują dowolny LegacyForwardIterator. W przypadku shift_left(), podano, że „ruchy są wykonywane w rosnącej kolejności ipoczynając od 0”; dla shift_right(), określono, że „jeżeli ForwardItspełnia wymagania LegacyBidirectionalIterator, a następnie przemieszcza wykonywane są w kolejności malejącej ipocząwszy od last - first …
Rozważ następujący kod: struct A { // No data members //... }; template<typename T, size_t N> struct B : A { T data[N]; } Oto jak zainicjować B: B<int, 3> b = { {}, {1, 2, 3} }; Chcę uniknąć niepotrzebnego pustego {} dla klasy podstawowej. Jest to rozwiązanie proponowane …
W C ++ 20 u8literałów łańcuchowych jest opartych na char8_ttypie. Celowo nie przechodzą już na char const*: const char* str = u8"Hall\u00f6chen \u2603"; // no longer valid in C++20 Oczywiście ostatecznym celem migracji do C ++ 20 jest całkowite przejście na nowe zachowanie (w powyższym przykładzie: zmiana typu str). Jednak …
To pytanie wynika z tego komentarza: Lambda dożywotniego wyjaśnienia dla korupcji w C ++ 20 w odniesieniu do tego przykładu: auto foo() -> folly::coro::Task<int> { auto task = []() -> folly::coro::Task<int> { co_return 1; }(); return task; } Pytanie brzmi więc, czy wykonanie zwróconej przez niego coroutine foospowoduje UB. „Wywołanie” …
Ponieważ P0593 Domniemane tworzenie obiektów do manipulacji obiektami na niskim poziomie zostało zaakceptowane, obiekty mogą być teraz tworzone niejawnie w C ++ 20. W szczególności sformułowanie wprowadzone we wniosku pozwala niektórym operacjom (np. std::malloc) Automatycznie tworzyć i uruchamiać okres istnienia obiektów określonych typów, tak zwanych typów niejawnych , jeśli wprowadzenie …
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.