c++11

Po co używać funkcji begin I end w C++11?

Każdy standardowy kontener ma metodę begin i end zwracania iteratorów dla tego kontenera. Jednak C++11 najwyraźniej wprowadzi ... e funkcji std::begin i std::end poza wywołaniem odpowiadającej im funkcji członka wersje, i dlaczego chcesz z nich korzystać?

Wybór pomiędzy std:: map a std:: unordered map

Teraz, gdy std ma prawdziwą mapę hashową w unordered_map, Dlaczego (lub kiedy) nadal chciałbym używać starego, dobrego map na ... ordered_map na systemach, w których faktycznie istnieje? Czy są jakieś oczywiste sytuacje, których nie mogę od razu zobaczyć?

Czy klasa enum może zostać przekonwertowana na typ bazowy?

Czy istnieje sposób na konwersję pola enum class na typ bazowy? Myślałem, że to będzie automatyczne, ale najwyraźniej nie. e ... = my_fields::field; To zadanie jest odrzucane przez GCC. error: cannot convert 'my_fields' to 'unsigned int' in assignment.

Dlaczego ktoś miałby używać set zamiast unordered set?

C++0x wprowadza unordered_set, który jest dostępny w boost i wielu innych miejscach. Rozumiem, że unordered_set jest tabelą h ... m o złożoności wyszukiwania log(n). Dlaczego ktoś miałby używać set zamiast unordered_set? czy istnieje jeszcze potrzeba set?

Understanding std:: atomic:: compare exchange weak() in C++11

bool compare_exchange_weak (T& expected, T val, ..); compare_exchange_weak() jest jednym z prymitywów compare-exchange ... tformach. Ale jak przeanalizowano powyżej, dwie wersje w pętli powinny dawać tę samą / podobną wydajność. Czego mi brakuje?

Jak działa std:: function

Możemy zawinąć lub zapisać funkcję lambda do std::function: #include <iostream> #include <functional> int main( ... yjmuje sygnaturę funkcji, taką jak x(y,z) i jak z nią działa? Czy float (float, float) jest nowym poprawnym wyrażeniem W C++?

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 )

Jak napisać łatwą do utrzymania, szybką, skompilowaną maskę bitową w C++?

Mam jakiś kod, który jest mniej więcej taki: #include <bitset> enum Flags { A = 1, B = 2, C = 3, D = 5, ... ać ten kod, aby oba Kompilatory mogły postąpić właściwie? Jak mam to napisać, żeby było jasne, szybkie i łatwe do utrzymania?

Rekurencyjne funkcje lambda w C++11

Jestem nowy w C++11. Piszę następującą rekurencyjną funkcję lambda, ale nie kompiluje się. Sum.cpp #include <iostream&g ... t;int { if(a>b) return 0; else return term(a) + sum(next(a),b); }; Czy ktoś mógłby rzucić na to światło?

Czy funkcje wirtualne mogą mieć domyślne parametry?

Jeśli deklaruję klasę bazową (lub klasę interfejsu) i określam domyślną wartość dla jednego lub więcej jej parametrów, czy kl ... , jak to może być obsługiwane przez różne kompilatory i wszelkie informacje na temat" zalecanej " praktyki w tym scenariuszu.

Czym dokładnie jest std:: atomic?

Rozumiem, że std::atomic<> jest obiektem atomowym. Ale atomowy w jakim stopniu? Według mnie operacja może być atomowa. ... = a + 12; To czy cała operacja (powiedzmy add_twelve_to(int)) jest atomowa? Czy zmiany w zmiennej atomic (so operator=())?

Czym są deklaracje i deklaracje oraz jak ich rodzaje interpretuje norma?

Jak dokładnie standard definiuje, że na przykład float (*(*(&e)[10])())[5] deklaruje zmienną typu " reference to array of 10 pointer to function of () zwracającą wskaźnik do array of 5 float"? zainspirowany dyskusją z @DanNissenbaum

Szablony wyrażeń i C++11

Spójrzmy na jedną szczególną zaletę szablonów wyrażeń: ETs może być używany do unikania tymczasowych wielkości wektorowych w ... ovl %edx, 12(%rsp) movl 80(%rsp), %edx imull %ecx, %edx imull %eax, %edx imull %ecx, %edx movl %edx, 16(%rsp)

Jaki jest zalecany sposób wyrównywania pamięci w C++11

Pracuję nad implementacją bufora pierścieniowego pojedynczego producenta.Mam dwa wymagania: Wyrównaj pojedynczą instancję p ... rsji 2.16. To sprawia, że jest to dość bezużyteczne dla mnie, ponieważ nie mogę wymagać tak najnowszej wersji eglibc / glibc.

Jak włączyć C++11 w Qt Creator?

Tytuł jest dość samoopisowy. Pobrałem Qt Creator 2.7.0 i próbuję skompilować jakiś podstawowy kod C++11: int my_array[5] = ... ps are not allowed in c++ 98 mode Jednak zgodnie z Ten artykuł Ta wersja Qt Creator obsługuje C++11. Jak mogę to włączyć?

Czy funkcje lambda mogą być templowane?

W C++11, czy istnieje sposób na szablon funkcji lambda? Czy jest to z natury zbyt specyficzne, aby być szablonem? Rozumiem, ... klasyczną szablonową klasę / functor, ale pytanie brzmi bardziej: czy język pozwala na tworzenie szablonowych funkcji lambda?

Nowe słowo kluczowe "auto"; kiedy powinno być użyte do zadeklarowania typu zmiennej? [duplikat]

Możliwy duplikat:How much is too much with C++0x auto keyword Czy mamy (jako społeczność) wystarczająco dużo doświad ... ć Proste zasady, których można szybko przestrzegać w 80% przypadków. Jako kontekst to pytanie jest moja odpowiedź tutaj

Jakie klasy WYJĄTKÓW znajdują się w standardowej bibliotece C++

Jakie są klasy wyjątków, które są zawarte w standardowej bibliotece C++ i do czego powinny być używane? Wiem, że jest kilka nowych wyjątków w C++11, ale nie jestem pewien, co to są i gdzie są.

Jak zaimplementować multithread safe singleton w C++11 bez użycia

Teraz, gdy C++11 ma wielowątkowość, zastanawiałem się, jak poprawnie zaimplementować leniwy inicjalizowany singleton bez używ ... t2.join(); } return 0; } Zauważ, że clear() jest tylko dla testów, prawdziwy singleton nie miałby tej funkcji.

Jak sprawdzić, czy wątek std::nadal działa?

Jak mogę sprawdzić, czy std::thread nadal działa (w sposób niezależny od platformy)? Brakuje metody timed_join() i joinable() ... e: aby było jasne: chcę sprawdzić, czy wątek jest czysty, czy nie. A wątek "wiszący" jest uważany za uruchomiony w tym celu.