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).


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” …

5
Kiedy należy używać std :: thread :: detach?
Czasami muszę użyć, std::threadaby przyspieszyć moją aplikację. Wiem też, że join()czeka, aż wątek się zakończy. Łatwo to zrozumieć, ale jaka jest różnica między dzwonieniem detach()a nie dzwonieniem? Pomyślałem, że bez detach()wątku metoda wątku będzie działać niezależnie od wątku. Nie odłączanie: void Someclass::Somefunction() { //... std::thread t([ ] { printf("thread called …
140 c++  c++11  stdthread 


12
Jakie nowe możliwości dodają literały zdefiniowane przez użytkownika do C ++?
C ++ 11 wprowadza zdefiniowane przez użytkownika literały , które pozwolą na wprowadzenie nowej składni dosłownym opartą na istniejących literały ( int, hex, string, float), tak, że każdy rodzaj będzie mógł mieć dosłownego prezentacji. Przykłady: // imaginary numbers std::complex<long double> operator "" _i(long double d) // cooked form { return …


3
Czy efektywny C ++ jest nadal skuteczny?
Z tego, co zobaczyłem w tym poście , postanowiłem zacząć czytać książkę Efektywne C ++ . Ale teraz, gdy pojawiło się wiele nowych funkcji dzięki C ++ 11 i zmieniło się kilka dobrych praktyk, nie jestem pewien, czy jest to w rzeczywistości dobry pomysł. Czy pojawienie się C ++ 11 …

17
Sprawdź, czy klasa ma funkcję składową o danym sygnaturze
Proszę o sztuczkę szablonową, aby wykryć, czy klasa ma określoną funkcję członkowską danego podpisu. Problem jest podobny do tego cytowanego tutaj http://www.gotw.ca/gotw/071.htm, ale nie ten sam: w pozycji książki Suttera odpowiedział na pytanie, że klasa C MUSI ZAPEWNIĆ funkcję składową z konkretny podpis, w przeciwnym razie program się nie skompiluje. …
139 c++  c++11  templates  sfinae 

10
Pule wątków w C ++ 11
Odpowiednie pytania : O C ++ 11: C ++ 11: std :: thread pooled? Czy async (launch :: async) w C ++ 11 sprawi, że pule wątków będą przestarzałe, aby uniknąć kosztownego tworzenia wątków? O Boost: C ++ usprawnia ponowne wykorzystanie wątków w wątku boost :: thread i tworząc ich …

2
Co mogę zrobić z przeniesionym obiektem?
Czy norma precyzyjnie określa, co mogę zrobić z przedmiotem po jego przeniesieniu? Kiedyś myślałem, że wszystko, co można zrobić z przeniesionym obiektem, to go zniszczyć, ale to nie wystarczy. Na przykład weź szablon funkcji swapzdefiniowany w bibliotece standardowej: template <typename T> void swap(T& a, T& b) { T c = …


1
Futures a obietnice
Mylę się z różnicą między przyszłością a obietnicą. Oczywiście mają różne metody i rzeczy, ale jaki jest faktyczny przypadek użycia? Czy to jest ?: kiedy zarządzam jakimś zadaniem asynchronicznym, używam przyszłości, aby uzyskać wartość „w przyszłości” kiedy jestem zadaniem asynchronicznym, używam obietnicy jako typu zwracanego, aby umożliwić użytkownikowi uzyskanie przyszłości …
138 c++  c++11  promise  future 

9
Czy rzeczywiście istnieje powód, dla którego są przeciążone && i || nie zwarcie?
Krótkie zachowanie operatorów &&i ||jest niesamowitym narzędziem dla programistów. Ale dlaczego tracą to zachowanie, gdy są przeciążone? Rozumiem, że operatory są jedynie cukrem syntaktycznym dla funkcji, ale operatory dla boolmają takie zachowanie, dlaczego miałoby być ograniczone do tego jednego typu? Czy jest za tym jakieś techniczne uzasadnienie?

10
Jak emulować inicjalizację tablicy w C zachowanie „int arr [] = {e1, e2, e3,…}” za pomocą std :: array?
(Uwaga: to pytanie dotyczy braku konieczności określania liczby elementów i nadal zezwala na bezpośrednie inicjowanie typów zagnieżdżonych). To pytanie omawia zastosowania pozostawione dla tablicy C, takiej jak int arr[20];. W swojej odpowiedzi @James Kanze pokazuje jeden z ostatnich bastionów tablic C, jego unikalne cechy inicjalizacji: int arr[] = { 1, …


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.