c++20
enum to string in modern C++11 / C++14 / C++17 and future C++20
W przeciwieństwie do innych podobnych pytań, to pytanie dotyczy korzystania z nowych funkcji C++.
2008 c czy istnieje prost ... du C++ w czasie kompilacji za pomocą sztuczek meta-programowania opartych na funkcjach variadic template class i constexpr...
Co to jest operator <=> w C++?
Kiedy próbowałem dowiedzieć się o operatorach C++, natknąłem się na dziwny operator porównania na cppreference.com,* w tabel ... ten operator?
* W międzyczasie cppreference.com zaktualizowano tę stronę i teraz zawiera informacje o operatorze <=>.
Dlaczego wymagamy wymaga wymaga?
Jednym z rogów koncepcji C++20 jest to, że istnieją pewne sytuacje, w których trzeba pisać requires requires. Na przykład ten ... requires (T x) { x + x; }
T add(T a, T b) { return a + b; }
(Uwaga: proszę nie odpowiadać, że gramatyka requires it)
Zachowanie C++20 łamanie istniejącego kodu operatorem równości?
Wpadłem na to podczas debugowania to pytanie .
Przyciąłem go do samego użycia operatorów Boost :
Compiler Explorer C++17 ... szkadza? Podejrzewam, że może to być spowodowane nową obsługą c++20, ale nie rozumiem Jak zmienia to zachowanie tego kodu.
Default template parameter & lambda in unevaluated context: bug or feature?
Rozważamy cel stworzenia dwóch różnych typów, przy użyciu dokładnie tej samej składni. Można to łatwo zrobić z lambda: {]}
... aga: mam nadzieję, że jest to funkcja, a nie błąd, ale tylko dlatego, że sprawia, że niektóre szalone pomysły można wdrożyć
Jak wykorzystać lokalizację źródła w zmiennej funkcji szablonu?
Funkcja C++20 std::source_location jest używana do przechwytywania informacji o kontekście, w którym wywoływana jest funkcja. ... różnymi szablonami, ale trudno mi dowiedzieć się, jak. Jak Mogę używać std::source_location z zmiennymi funkcjami szablonów?
Czy bezstopniowe C++20 to problem?
Z poniższego punktu widzenia wygląda na to, że coroutines w C++20 będą bezstopniowe.
Https://en.cppreference.com/w/cpp/lang ... =KUhSjfSbINE
CppCon 2016: James McNellis "Introduction to C++ Coroutines"
Https://www.youtube.com/watch?v=ZTqHjjm86Bw
Jak napisać mój C++, aby być przygotowanym do modułów C++?
Istnieją już dwa Kompilatory obsługujące Moduły C++:
Clang: http://clang.llvm.org/docs/Modules.html
MS VS 2015: http: ... kompilatorze?
Czy Można używać modułów i nadal utrzymywać kompatybilność ze starszymi kompilatorami, które go nie obsługują?
Czy C++20 nakazuje przechowywanie kodu źródłowego w plikach?
Trochę dziwne pytanie, jednak, jeśli dobrze pamiętam, kod źródłowy C++ nie wymaga systemu plików do przechowywania swoich pli ... dodaje teraz lokalizację źródła z file_name. Czy teraz oznacza to, że kod źródłowy powinien być zawsze przechowywany w pliku?
Czym są coroutines w C++20?
Co to są koroutiny w c++20 ?
Czym różni się od "Paralelism2" lub / i "Concurrency2" (spójrz na poniższy obrazek)?
Poniższy obrazek pochodzi z ISOCPP.
Https://isocpp.org/files/img/wg21-timeline-2017-03.png
C++20 bit cast vs reinterpret cast
Zgodnie z ostatnim spotkaniem Komitetu ISO C++, Bit-cast zostanie wprowadzony w standardzie C++20.
Wiem, że {[0] } nie nada ... cast, aby traktować obiekt jak reprezentację sekwencji bitowej i woleli dać tę funkcjonalność jako nową konstrukcję językową?
Po co szablon lambda wprowadzony w C++20 skoro C++14 ma już generyczną lambdę?
W C++14 wprowadzono ogólne lambdy, które umożliwiały pisanie:
auto func = [](auto a, auto b){
return a + b;
};
auto Foo ... działa tak samo jak funkcja szablonowa func.
Dlaczego Komitet C++ zdecydował się dodać składnię szablonu dla generic lamda?
Czym różni się operator porównania trójstronnego od odejmowania?
Jest nowy operator porównania <=> W C++20. Jednak myślę, że w większości przypadków proste odejmowanie działa dobrze:
... urn *a <=> *b;
// Version 3
return ((*a > *b) - (*a < *b));
}
Mają ten sam efekt. Nie rozumiem różnicy.