Pytania otagowane jako c++14

C ++ 14 to nazwa standardu C ++, zatwierdzonego w 2014 roku. Opiera się on na poprzednim standardzie C ++ 11, ulepszając język podstawowy i bibliotekę standardową oraz dodając kilka funkcji.

2
Jak zaimplementować klasyczne algorytmy sortowania we współczesnym C ++?
std::sortAlgorytm (i jego kuzyni std::partial_sorti std::nth_element) z C ++ Standard Library w większości implementacji skomplikowanej i hybrydowe połączenie więcej podstawowych algorytmów sortowania , takich jak wybór rodzaju, insercji sortowania szybkiego sortowania, łączenia sortowania lub sortowania sterty. Tutaj i na siostrzanych stronach, takich jak https://codereview.stackexchange.com/, jest wiele pytań związanych z błędami, …



8
Przechwytywanie lambda jako odniesienie do stałej?
Czy możliwe jest przechwycenie przez odwołanie do stałej w wyrażeniu lambda? Chcę, aby zadanie zaznaczone poniżej zakończyło się niepowodzeniem, na przykład: #include <cstdlib> #include <vector> #include <string> #include <algorithm> using namespace std; int main() { string strings[] = { "hello", "world" }; static const size_t num_strings = sizeof(strings)/sizeof(strings[0]); string best_string …
166 c++  c++11  lambda  c++14 

2
Jakie są zastosowania decltype (auto)?
На этот вопрос есть ответы на Stack Overflow на русском : Конструкция decltype (auto) W języku c ++ 14 wprowadzono decltype(auto)idiom. Zwykle służy do zezwalania autodeklaracjom na używanie decltypereguł dla danego wyrażenia . Szukając przykładów „dobrego” użycia idiomu, przychodzą mi do głowy tylko następujące rzeczy (autorstwa Scotta Meyersa ), a …

2
Jak działa „void_t”
Oglądałem wykład Waltera Browna na Cppcon14 o nowoczesnym programowaniu szablonów ( część I , część II ), gdzie przedstawił swoją void_ttechnikę SFINAE. Przykład: biorąc pod uwagę prosty szablon zmiennej, który ocenia, voidczy wszystkie argumenty szablonu są poprawnie sformułowane: template< class ... > using void_t = void; oraz następującą cechę, która …
149 c++  templates  c++14  sfinae 


2
Czy #pragma jest kiedyś częścią standardu C ++ 11?
Tradycyjnie, standardowym i przenośnym sposobem uniknięcia wielu włączeń nagłówków w C ++ było / jest użycie #ifndef - #define - #endifschematu dyrektyw prekompilatora, zwanego również schematem ochrony makr (zobacz fragment kodu poniżej). #ifndef MY_HEADER_HPP #define MY_HEADER_HPP ... #endif Jednak w większości implementacji / kompilatorów (patrz rysunek poniżej) istnieje bardziej „elegancka” …

1
Przypisanie kopiowania / przenoszenia w std :: vector :: erase () i std :: deque :: erase ()
Odpowiadając na inne pytanie, natknąłem się na nieco inne sformułowania dla std::vector::erase()i std::deque::erase(). Oto, o czym mówi C ++ 14 std::deque::erase( [deque.modifiers]/4-6wyróżnienie moje): Efekty: ... Złożoność: liczba wywołań do destruktora jest taka sama, jak liczba usuniętych elementów, ale liczba wywołań operatora przypisania jest nie większa niż mniejsza z liczby elementów …


3
Jak działa generyczna lambda w C ++ 14?
Jak działa generyczna lambda ( autosłowo kluczowe jako typ argumentu) w standardzie C ++ 14? Czy jest oparty na szablonach C ++, w których dla każdego innego typu argumentu kompilator generuje nową funkcję o tej samej treści, ale zastępowanych typach (polimorfizm w czasie kompilacji), czy jest bardziej podobny do generycznych …
114 c++  lambda  auto  c++14 

13
Jak mogę uniknąć pętli „for” zawierających warunek „if” w C ++?
W przypadku prawie całego kodu, który piszę, często mam do czynienia z problemami z redukcją zestawów na kolekcjach, które ostatecznie kończą się naiwnymi warunkami „jeśli” w nich. Oto prosty przykład: for(int i=0; i<myCollection.size(); i++) { if (myCollection[i] == SOMETHING) { DoStuff(); } } Dzięki językom funkcjonalnym mogę rozwiązać problem, redukując …
111 c++  c++11  c++14 

4
Co to są przezroczyste komparatory?
W C ++ 14 wydaje się, że kontenery asocjacyjne zmieniły się z C ++ 11 - [Associative.reqmts] / 13 mówi: Szablony funkcji składowej find, count, lower_bound, upper_bound, i equal_rangenie powinien uczestniczyć w rozdzielczości przeciążenia chyba typ Compare::is_transparentistnieje. Jaki jest cel uczynienia komparatora „przejrzystym”? C ++ 14 udostępnia również szablony bibliotek, …
106 c++  c++14  c++-faq 

3
Czy C ++ 14 dodaje nowe słowa kluczowe do C ++?
Komitet Standardów C ++ ma tendencję do unikania dodawania nowych słów kluczowych do języka, jednak w przypadku C ++ 11 tak nie było. Kilka przykładów: constexpr decltype thread_local auto // New usage noexcept nullptr static_assert alignof alignas Czy w C ++ 14 wprowadzono jakieś nowe słowa kluczowe?
103 c++  c++11  keyword  c++14 


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.