c++11

Czy idiom safe-bool jest przestarzały w C++11?

W C++11 idiom safe-bool jest dość przestarzały, ponieważ można go zastąpić prostym.]} explicit operator bool() const; Zgod ... .4 [except.spec] p2) Czy nasze założenie w tytule jest poprawne? Mam nadzieję, że nie pominęliśmy żadnych potencjalnych wad.

Dlaczego `std:: move 'nazywa się' STD:: move'?

Funkcja C++11 std::move(x) tak naprawdę niczego nie porusza. To tylko rzut do wartości R. Dlaczego to zrobiono? Czy to nie wprowadza w błąd?

Futures vs. Promises

Mylę się z różnicą między przyszłością a obietnicą. Oczywiście, mają różne metody i rzeczy, ale jaki jest rzeczywisty przypa ... aniem asynchronicznym, używam promise jako typu return, aby umożliwić użytkownikowi uzyskanie przyszłości z mojej obietnicy

współdzielony PST do tablicy: czy należy go używać?

Tylko małe zapytanie dotyczące shared_ptr. Czy dobrą praktyką jest używanie shared_ptr Wskazywania tablicy? Na przykład, ... świadomy, jest to, że nie można zwiększyć/zmniejszyć shared_ptr. Dlatego nie może być używany jak zwykły wskaźnik do tablicy.

Pretty-print std:: tuple

Jest to kontynuacja mojego poprzedniego pytania na temat pretty-printing stl containers , dla którego udało nam się opracować ... .1) Punkty bonusowe za włączenie tego samego poziomu ogólności (char / wchar_t, ograniczniki par) jak w poprzednim pytaniu!

Jak mogę niezawodnie uzyskać adres obiektu, gdy operator & jest przeciążony?

Rozważ następujący program: struct ghost { // ghosts like to pretend that they don't exist ghost* operator&() c ... jego użyciem tutaj: chciałbym zrozumieć, jak implementator biblioteki standardowej może zaimplementować ten szablon funkcji.

Ile to za dużo z C++11 auto keyword?

Używam nowego słowa kluczowego auto dostępnego w standardzie C++11 dla skomplikowanych typów szablonów, do czego według mnie ... e do SE.Programistów, a następnie z powrotem do przepełnienia stosu. Dyskusja na ten temat znajduje się w tym meta pytaniu .

Jakie są różnice między pojęciami a ograniczeniami szablonów?

Chcę wiedzieć, jakie są różnice semantyczne między propozycją c++ full concepts a ograniczeniami szablonów (na przykład ogran ... pts-lite proposal for C++1Y). Co pełnowartościowe koncepcje są w stanie zrobić, niż ograniczenia szablonów nie mogą zrobić?

Jak wykonać ogólne obliczenia nad heterogenicznymi pakietami argumentów zmiennej funkcji szablonu?

Założenie: Po zabawie z różnymi szablonami, zdałem sobie sprawę, że osiągnięcie wszystkiego, co wykracza nieco poza trywia ... ie poprzez meta-programowanie szablonów, aby osiągnąć to, czym jestem szukasz bez ponoszenia ograniczeń istniejących podejść?

Jak sprawić, by mój Typ niestandardowy działał z pętlami "range-based for loops"?

Jak wielu ludzi w dzisiejszych czasach próbowałem różnych funkcji, które przynosi C + 11. Jednym z moich ulubionych jest "ran ... strzeń nazw xml, Czy powinienem zdefiniować xml::begin() czy std::begin()? Krótko mówiąc, jakie są wytyczne, aby to zrobić ?

Jak std:: move() przenosi wartości do wartości R?

Okazało się, że nie do końca rozumiem logikę std::move(). Na początku wygooglowałem go, ale wygląda na to, że są tylko doku ... zelkie dokumenty, które mogę uzyskać w Internecie, będą mile widziane. (Jeśli możesz to wyjaśnić, to też będzie niesamowite).

Refaktoryzacja w C++ 11

Biorąc pod uwagę nowy zestaw narzędzi dostarczany przez c++ wielu programistów, dążących do uproszczenia kodu, ekspresji, wyd ... nacja funkcji, które proponuje, oddaje duch refaktoryzacji : uczynienie kodu jaśniejszym, czystszym, prostszym i eleganckim.

Jakie różnice, jeśli istnieją, między C++03 I C++11 można wykryć w czasie wykonywania?

Możliwe jest napisanie funkcji, która po skompilowaniu kompilatorem C zwróci 0, a po skompilowaniu kompilatorem C++ zwróci 1 ... ogiczną wskazującą, czy jest kompilowana przez zgodny kompilator C++03 czy kompilator C++11? bool isCpp11() { //??? }

Jak wywołać:std:: make shared on a class with only protected or private constructors?

Mam ten kod, który nie działa, ale myślę, że intencja jest jasna: testmakeshared.cpp #include <memory> class A { ... obiec tworzeniu obiektu tej klasy, który nie jest wskazywany przez ::std::shared_ptr. Czy jest jakiś sposób, aby to osiągnąć?

Dlaczego miałbym używać "push back" zamiast "emplace back"?

C++11 wektorów ma nową funkcję emplace_back. W przeciwieństwie do push_back, która polega na optymalizacji kompilatora, aby u ... ace_back robi wszystko push_back może, ale czasami robi to lepiej (ale nigdy gorzej). Z jakiego powodu muszę użyć push_back?

Jakie są zasady dla tokena " ... " w kontekście różnych szablonów?

W C++11 istnieją różne szablony, takie jak ten: template< class T, class... Args > unique_ptr<T> make_unique( A ... ońcu wyrażenia zainteresowania. Czy istnieje powód, że w liście argumentów szablonu i liście parametrów elipsa jest pośrodku?

Move capture w lambda

Jak przechwycić przez move (znany również jako rvalue reference) w C++11 lambda? Próbuję napisać coś takiego: std::unique_ptr<int> myPointer(new int); std::function<void(void)> example = [std::move(myPointer)]{ *myPointer = 4; };

Generowanie liczb losowych w C++11, jak generować, jak działają? [zamknięte]

Ostatnio natknąłem się na nowy sposób generowania liczb losowych w C++11, ale nie mogłem przetrawić dokumentów, które o tym c ... ne są, co oznaczają, jak generować , jak działają? itp (możesz to wszystko nazwać w jednym FAQ o generowaniu liczb losowych).

Po co kopiujemy?

Widziałem gdzieś kod, w którym ktoś zdecydował się skopiować obiekt, a następnie przenieść go do członka danych klasy. To poz ... go jak std::string? jaki byłby powód, dla którego autor zdecydował się na / align = "left" / Kiedy powinnam to zrobić sama?

Dlaczego lambdy mogą być lepiej zoptymalizowane przez kompilator niż zwykłe funkcje?

W swojej książce The C++ Standard Library (Second Edition) Nicolai Josuttis stwierdza, że lambda mogą być lepiej zoptymalizow ... e Kompilatory mogą mieć lepszy lokalny kontekst z lambda i takie mogą tworzyć więcej założeń i wykonać więcej optymalizacji.