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.
C ++ 20 pozwala na użycie autotypu parametru funkcji. Czy pozwala również na użycie autojako symbolu zastępczego argumentu szablonu (nie podobnego, ale w duchu szablonu C ++ 17 <auto> w pewien sposób) dla typu parametru funkcji? Tak więc następujący kod sprzed C ++ 20: template<typename First, typename Second> void printPair(const …
[basic.scope.pdecl] / 1 standardowego projektu C ++ 20 zawierał następujący (nienormatywny) przykład w notatce (częściowy cytat sprzed scalenia żądania ściągnięcia 3580 , patrz odpowiedź na to pytanie): unsigned char x = x; [...] x jest inicjalizowany z własną (nieokreśloną) wartością. Czy to rzeczywiście ma dobrze zdefiniowane zachowanie w C ++ …
W C ++ 20 koncepcja POD jest przestarzała, prawdopodobnie dlatego, że jest to bezsensowna złożona cecha bycia trywialnym i standardowym układem. Jednak definicja POD w wersji roboczej C ++ 20 nie jest dokładnie „zarówno trywialna, jak i standardowa”; to jest właściwie: Klasa POD jest klasą, która jest zarówno klasą trywialną, …
https://www.timeanddate.com/date/weekday.html oblicza różne fakty dotyczące dnia roku, na przykład: Biorąc pod uwagę dowolną datę, w jaki sposób można obliczyć te liczby ze specyfikacją chronografu C ++ 20 ?
Patrząc na możliwą implementację koncepcji same_as na https://en.cppreference.com/w/cpp/concepts/same_as zauważyłem, że dzieje się coś dziwnego. namespace detail { template< class T, class U > concept SameHelper = std::is_same_v<T, U>; } template< class T, class U > concept same_as = detail::SameHelper<T, U> && detail::SameHelper<U, T>; Pierwsze pytanie brzmi: dlaczego SameHelperkoncepcja jest potrzebna? …
Czy istnieje sposób sprawdzenia w C ++ 11, czy wyliczenie jest ciągłe ? W pełni uzasadnione jest podawanie wartości wyliczeniowych, które nie są. Czy w C ++ 14, C ++ 17 jest jakaś cecha typu, a może C ++ 20, aby sprawdzić, czy wyliczanie jest ciągłe? Należy tego użyć w …
C ++ używa tego streamofftypu do reprezentowania przesunięcia w strumieniu (pliku) i jest zdefiniowany w następujący sposób w [stream.types]: using streamoff = implementation-defined ; Typ streamoff jest synonimem jednego z podpisanych podstawowych integralnych typów o wystarczającym rozmiarze, aby reprezentować maksymalny możliwy rozmiar pliku dla systemu operacyjnego. 287) 287) Zazwyczaj długi. …
Zgodnie z cppreferencją większość zastosowań volatilesłowa kluczowego powinna być przestarzała w C ++ 20. Jaka jest wada volatile? A jakie jest alternatywne rozwiązanie, gdy nie używasz volatile?
Mam zabawy z [[no_unique_address]]w c++20. W przykładzie na cppreference mamy pusty typ Emptyi typZ struct Empty {}; // empty class struct Z { char c; [[no_unique_address]] Empty e1, e2; }; Najwyraźniej rozmiar Zmusi być co najmniej 2dlatego, że typy e1i e2są takie same. Jednak naprawdę chcę mieć Zrozmiar 1. To …
W C ++ istnieje bardzo zgrabna właściwość wyrażeń stałych: ich ocena nie może mieć niezdefiniowanego zachowania ( 7.7.4.7 ): Wyrażenie e jest podstawowym stałym wyrażeniem, chyba że ocena e, zgodnie z regułami maszyny abstrakcyjnej ([intro. Wykonanie]), ocenia jedną z następujących czynności: ... operacja, która miałaby niezdefiniowane zachowanie określone w [intro] …
W C ++ 20 std::swapstaje się constexprfunkcją. Wiem, że standardowa biblioteka naprawdę pozostawała w tyle za językiem w oznaczaniu rzeczy constexpr, ale do 2017 r. <algorithm>Była prawie niezrozumiała, podobnie jak wiele innych rzeczy. A jednak - std::swapnie było. Niejasno pamiętam jakąś dziwną wadę językową, która uniemożliwia to oznakowanie, ale zapominam …
Z preferencji std::chrono::years (since C++20) duration</*signed integer type of at least 17 bits*/, std::ratio<31556952>> Używając libc++, wydaje się, że podkreśleniem std::chrono::yearsjest shortto, że podpisano 16 bitów . std::chrono::years( 30797 ) // yields 32767/01/01 std::chrono::years( 30797 ) + 365d // yields -32768/01/01 apparently UB Czy istnieje literówka na preferencjach lub 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.