Pytania oznaczone «c++11»

83
Jak zadeklarować funkcję akceptującą lambdę?

Przeczytałem w Internecie wiele samouczków, które wyjaśniały, jak używać lambd w standardowej bibliotece (np. std::find) I wszystkie były bardzo interesujące, ale nie mogłem znaleźć żadnego, który wyjaśniałby, jak mogę używać lambdy do moich własnych funkcji. Na przykład: int main() { int...

83
Uzyskaj status std :: future

Czy można sprawdzić, czy std::futureskończył się, czy nie? O ile wiem, jedynym sposobem byłoby zadzwonić wait_forz zerowym czasem trwania i sprawdzić, czy status jest, readyczy nie, ale czy jest lepszy sposób?

82
czy „const auto” ma jakieś znaczenie?

Myślę, że pytanie jest wystarczająco jasne. Czy autosłowo kluczowe automatycznie wykryje stałą, czy zawsze zwróci typ inny niż stała, nawet jeśli istnieją np. dwie wersje funkcji (jedna, która zwraca, consta druga nie). Tak dla przypomnienia, używam const auto end = some_container.end()przed...

82
Czy C ++ 11 zezwala na wektor <const T>?

Wymagania dotyczące kontenerów zostały zmienione z C ++ 03 na C ++ 11. Podczas gdy C ++ 03 miał ogólne wymagania (np. Kopiowalność konstruowalności i przypisywalność dla wektora), C ++ 11 definiuje szczegółowe wymagania dotyczące każdej operacji kontenera (sekcja 23.2). W rezultacie możesz np....

82
Jaka jest różnica między C ++ 0x a C ++ 11?

Widzę mieszane użycie tych dwóch terminów tutaj na SO. Wikipedia mówi C ++ 11, wcześniej znany również jako C ++ 0x ... ale nie wiem dlaczego. Dlaczego najpierw został nazwany C ++ 0x, a potem C ++ 11? Co oznacza x? Zgaduję - jak zmienna?

80
Powiel kod przy użyciu języka C ++ 11

Obecnie pracuję nad projektem i mam następujący problem. Mam metodę C ++, którą chcę pracować na dwa różne sposoby: void MyFunction() { foo(); bar(); foobar(); } void MyFunctionWithABonus() { foo(); bar(); doBonusStuff(); foobar(); } I nie chciałbym powielać swojego kodu, ponieważ...

80
Dlaczego muszę wyraźnie wpisać słowo kluczowe „auto”?

Przechodzę w kierunku C ++ 11 z C ++ 98 i zapoznałem się ze autosłowem kluczowym. Zastanawiałem się, dlaczego musimy jawnie zadeklarować, autoczy kompilator może automatycznie wydedukować typ. Wiem, że C ++ jest językiem silnie typizowanym i jest to reguła, ale czy nie można było osiągnąć tego...

79
Nieużywany parametr w języku c ++ 11

W c ++ 03 i wcześniejszych, aby wyłączyć ostrzeżenie kompilatora o nieużywanym parametrze, zwykle używam takiego kodu: #define UNUSED(expr) do { (void)(expr); } while (0) Na przykład int main(int argc, char *argv[]) { UNUSED(argc); UNUSED(argv); return 0; } Ale makra nie są najlepszą...

71
Używanie std :: vector jako widoku surowej pamięci

Korzystam z zewnętrznej biblioteki, która w pewnym momencie daje mi surowy wskaźnik do tablicy liczb całkowitych i rozmiaru. Teraz chciałbym użyć, std::vectoraby uzyskać dostęp i zmodyfikować te wartości w miejscu, zamiast uzyskiwać do nich dostęp za pomocą surowych wskaźników. Oto sztuczny...

32
Deklaracja C ++ i nawiasy - dlaczego?

Temat był wcześniej omawiany , ale to nie jest duplikat. Kiedy ktoś pyta o różnicę między decltype(a)i decltype((a)), jak zwykle odpowiedź brzmi - ajest to zmienna, (a)jest wyrazem. Uważam tę odpowiedź za niezadowalającą. Po pierwsze, ajest to także wyrażenie. Opcje wyrażenia podstawowego...