c++14

Jak zaimplementować Klasyczne algorytmy sortowania we współczesnym C++?

Algorytm std::sort (i jego kuzyni std::partial_sort i std::nth_element) z biblioteki standardowej C++ jest w większości imple ... zyku C++14. W stosownych przypadkach oznaczam różnice składniowe i biblioteczne, w których różne wersje językowe się różnią.

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

Jakie zmiany wprowadzone w C++14 mogą potencjalnie złamać program napisany w C++11?

Wprowadzenie Z C++14 (aka. C++1Y) Standard w stanie zbliżonym do ostatecznego programiści muszą zadawać sobie pytanie o ... wymienione. zgodnie ze standardem : Jakie zmiany wprowadzone w C++14 mogą potencjalnie zepsuć program napisany w C++11?

Czy nowoczesny C++ da ci wydajność za darmo?

Czasami twierdzi się, że C++11/14 może zwiększyć wydajność nawet podczas kompilacji kodu C++98. Uzasadnienie jest zwykle zgod ... uchamiane szybciej (unikaj kopiowania, ale jeśli możesz wymyślić coś jeszcze poza semantyką move, też byłbym zainteresowany)

Jak działa "void t"

Oglądałem wykład Waltera Browna na Cppcon14 o nowoczesnym programowaniu szablonów ( Część I, Część II), gdzie zaprezentował s ... id_t, aby działał. Dlaczego? (Nie rozumiem, dlaczego te typy muszą pasować, nie tylko jakiś domyślny typ wykonuje zadanie?)

Jakie są niektóre zastosowania decltype (auto)?

W c++14 wprowadzono idiom decltype(auto). Zazwyczaj jego użycie polega na zezwoleniu auto deklaracjom na użyciedecltype reg ... )[std::forward<IndexType>(index)]; } Czy są jakieś inne przykłady, w których ta nowa funkcja językowa jest przydatna?

Czy jest jakaś nazwa dla idiomu tworzenia krotek?

Na zwiększ listę mailingową, poniższy sprytny trik, aby utworzyć byt podobny do krotki, został niedawno opublikowany przez @ ... idiomu tworzenia krotek? Być może z funkcjonalnego języka programowania, w którym funkcje wyższego rzędu są częściej używane.

Kiedy należy używać C++14 automatyczny zwrot typu odliczenia?

Z GCC 4.8.0 wydany, mamy kompilator, który obsługuje automatyczne zwracanie typu dedukcji, część C++14. Z -std=c++1y, mogę to ... osi do stołu, co nie jest możliwe bez niej? zauważ, że wielokrotne pytania mają być pomocą w znalezieniu / align = "left" /

Implementacja C++14 make integer sequence

Próbowałem zaimplementować C++14 alias template make_integer_sequence, co upraszcza tworzenie szablonu klasy integer_sequence ... d: Pamięć wirtualna wyczerpana. Moje pytanie brzmi: jak zmniejszyć głęboką instancję szablonu? Pozdrawiam, Khurshid.

Czym są przezroczyste komparatory?

W C++14 kontenery asocjacyjne wydają się być zmienione z C++11 – [asocjacyjne.reqmts]/13 says: Szablony funkcji Członkow ... blonu std::set są nadal Key, Compare = std::less<Key>, ..., więc domyślny zestaw traci swój find, count, itd. członków?

Default, value and zero initialization mess

Jestem bardzo zdezorientowany co do inicjalizacji value - & default- & zero. a zwłaszcza, gdy zaczynają się od różnyc ... tkownika, jeśli jest zadeklarowana przez użytkownika, a nie wyraźnie domyślna lub usunięta w pierwszej deklaracji. Link )

Rekurencyjne funkcje lambda w C++14

W C++11 jest często powtarzany 'trick' do pisania rekurencyjnych funkcji lambda, który wygląda następująco: std::function&l ... sytuacji, w której rekurencyjne wyrażenia lambda byłyby naprawdę wygodne, czy istnieje sposób na rozwiązanie tych problemów?

Czy #pragma jest kiedyś częścią standardu C++11?

Tradycyjnie, standardowym i przenośnym sposobem uniknięcia wielokrotnych inkluzji nagłówków w C++ było/jest użycie schematu d ... ? byłoby również miło, gdyby ktoś mógł rozwinąć zalety/wady w użyciu jednej z technik(np. macro-guard versus #pragma once).

Jak stworzyć zmienną generyczną lambdę?

Od C++14 możemy używać ogólnych lambdów: auto generic_lambda = [] (auto param) {}; Oznacza to, że operator wywołania jest ... t najbliższa rzecz, która może być używana w ten sam sposób ? Jak byś to przechowywał ? Czy jest to możliwe w std::function ?

Dlaczego warto używać std:: bind nad lambda w C++14?

Przed C++11 często używałem boost::bind lub boost::lambda. Część bind weszła do biblioteki standardowej (std::bind) Druga czę ... to.) Czy jest jakiś inny ważny przypadek użycia std::bind pokonania alternatywy lambda C++ czy std::bind jest zbędny z C++14?

Lambda-Over-Lambda w C++14

Jak się kończy/kończy rekurencyjne wywołanie lambda ? #include <cstdio> auto terminal = [](auto term) // ... return s; }; terminal(stdout) (hello) (world) ; return 0; } Co mi umyka ? Running code

Jak działa generic lambda w C++14?

Jak działa generic lambda (auto słowo kluczowe jako typ argumentu) w standardzie C++14? Czy jest on oparty na szablonach C+ ... ji), czy jest bardziej podobny do generyków Javy (type erasure)? Przykład kodu: auto glambda = [](auto a) { return a; };

Czy standard C++ zmienił się w odniesieniu do stosowania nieokreślonych wartości i niezdefiniowanego zachowania w C++14?

Jak opisano w czy inicjalizacja pociąga za sobą konwersję lvalue-to-rvalue? Czy int x = x; UB? standard C++ ma zaskakujący p ... o w C++14 w odniesieniu do nieokreślonych wartości i niezdefiniowanego zachowania, które wpłynęły na tę zmianę w przykładzie?

Zadanie kopiowania/przenoszenia w std::vector::erase() i std::deque:: erase()

W trakcie odpowiadania na kolejne pytanie natknąłem się na nieco inne sformułowania dla std::vector::erase() i std::deque::e ... pytanie brzmi: czy coś przeoczyłem, czy jest to (redakcyjny) numer w standardzie? Aktualizacja: Złożyłem numer LWG #2477 .

Czy wskaźnik o odpowiednim adresie i typie nadal jest zawsze poprawnym Wskaźnikiem od C++17?

(w odniesieniu do tego pytania i odpowiedzi .) Przed standardem C++17, w [basic.związek]/3: Jeśli obiekt typu T znajduj ... rpretacja tej modyfikacji prawa standardowego, czy też istnieją inne zasady, które rekompensują skreślenie cytowanego zdania?