Pytania otagowane jako c++20

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.

1
W jaki sposób shift_right () ma być zaimplementowany w 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 …


1
Jaki jest odpowiednik MSVC dla -fno-char8_t?
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 …

1
Czy to UB, aby wznowić coroutine funkcji składowej obiektu, którego żywotność się zakończyła?
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” …

1
Nieokreślone niejawne tworzenie obiektu
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 …
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.