Pytania otagowane jako c++11

Użyj tego znacznika do kodu, który musi zostać skompilowany jako C ++ 11 (nie używając żadnych funkcji wprowadzonych w C ++ 14 lub nowszej).

3
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 test = 5; LambdaTest([&](int a) { test += a; …
83 c++  lambda  c++11 

3
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?

4
Dlaczego nowa biblioteka losowa jest lepsza niż std :: rand ()?
Widziałem więc wykład o nazwie rand () Uważany za szkodliwy, który zalecał użycie paradygmatu dystrybucji przez silnik generowania liczb losowych zamiast prostego std::rand()paradygmatu plus moduł. Chciałem jednak na std::rand()własne oczy zobaczyć wady, więc zrobiłem szybki eksperyment: Zasadniczo, pisałem 2 funkcje getRandNum_Old()i getRandNum_New()który wygenerował liczbę losową z zakresu od 0 do …
82 c++  c++11  random 

4
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 moimi pętlami for, ale nie wiem, czy jest to …
82 c++  c++11  constants 

4
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. Przechowywać w wektorze typ, który można …
82 c++  vector  c++11  constants 

4
Wyrównanie pamięci: jak używać alignof / alignas?
Obecnie pracuję z pamięcią współdzieloną. Nie rozumiem alignofi alignas. cppreference jest niejasne: alignofzwraca „wyrównanie”, ale co to jest „wyrównanie”? liczba bajtów do dodania dla następnego bloku do wyrównania? wyściełany rozmiar? Przepełnienie stosu / wpisy na blogach również są niejasne. Czy ktoś może wyjaśnić jasno alignofi alignas?

3
Co to jest podnormalna liczba zmiennoprzecinkowa?
Strona odniesienia isnormal () mówi: Określa, czy podana liczba zmiennoprzecinkowa arg jest normalna, tj. Nie jest równa zeru, podnormalna, nieskończona ani NaN. Liczba równa zero, nieskończona lub NaN jest jasne, co to znaczy. Ale mówi też, że jest to nienormalne. Kiedy liczba jest niższa od normy?

4
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?
82 c++  c++11 


6
Czy Bjarne myli się co do tego przykładu ADL, czy mam błąd kompilatora?
Czytam The C ++ Programming Language, 4th Edition (by Bjarne Stroustrup ) owyszukiwanie zależne od argumentów. Oto cytat (26.3.6, Overaggressive ADL): Wyszukiwanie zależne od argumentów (często nazywane ADL) jest bardzo przydatne w celu uniknięcia gadatliwości (14.2.4). Na przykład: #include &lt;iostream&gt; int main() { std::cout &lt;&lt; "Hello, world" &lt;&lt; endl; // …

6
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ż rzeczywista funkcja jest znacznie dłuższa. Problem polega na tym, …
80 c++  c++11  templates 

2
Jaka jest różnica między pustym a null std :: shared_ptr w C ++?
Cplusplus.com shared_ptrstrona nazywa się rozróżnienie między pusty std::shared_ptr a wartość null shared_ptr . Strona cppreference.com nie wyjaśnia wyraźnie tego rozróżnienia, ale nullptrw opisie std::shared_ptrzachowania używa zarówno słowa „pusty”, jak i porównania . Czy jest różnica między pustym a null shared_ptr? Czy jest jakiś przypadek użycia dla takich wskaźników o mieszanym …
80 c++  c++11  shared-ptr 

7
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 samego wyniku bez …
80 c++  c++11  auto 

12
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ą praktyką dla języka C ++, więc. Czy …

10
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 przykład, który wyjaśnia tę kwestię: size_t size = 0; …
71 c++  c++11  vector  stdvector 

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.