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

5
Do czego służą wbudowane przestrzenie nazw?
C ++ 11 zezwala na inline namespaces, których wszyscy członkowie są również automatycznie dołączani namespace. Nie mogę wymyślić żadnego przydatnego zastosowania tego - czy ktoś mógłby podać krótki, zwięzły przykład sytuacji, w której jest inline namespaceto potrzebne i gdzie jest to najbardziej idiomatyczne rozwiązanie? (Poza tym nie jest dla mnie …

8
Pętla for ++ oparta na C ++ 11 w odwrotnym zakresie
Czy istnieje adapter kontenera, który odwróciłby kierunek iteratorów, dzięki czemu mogę iterować po kontenerze w odwrotnej kolejności za pomocą pętli for opartej na zakresie? Za pomocą jawnych iteratorów przekonwertowałbym to: for (auto i = c.begin(); i != c.end(); ++i) { ... zaangażowany w to: for (auto i = c.rbegin(); i …
321 c++  c++11  ranged-loops 



5
Rozpocznij wątek za pomocą funkcji członka
Próbuję zbudować std::threadz funkcją członka, która nie przyjmuje argumentów i zwraca void. Nie mogę znaleźć żadnej składni, która działa - kompilator narzeka bez względu na wszystko. Jaki jest prawidłowy sposób zaimplementowania spawn(), std::threadaby zwracał wykonanie test()? #include <thread> class blub { void test() { } public: std::thread spawn() { return …

8
Różnica w make_shared i normal shared_ptr w C ++
std::shared_ptr<Object> p1 = std::make_shared<Object>("foo"); std::shared_ptr<Object> p2(new Object("foo")); Wiele postów z Google i Stackoverflow jest na ten temat, ale nie jestem w stanie zrozumieć, dlaczego make_sharedjest bardziej wydajny niż bezpośrednie korzystanie shared_ptr. Czy ktoś może mi wyjaśnić krok po kroku sekwencję obiektów utworzonych i operacji wykonanych przez oba, aby móc zrozumieć, …
276 c++  c++11  shared-ptr 

1
W jaki sposób „int main () {(([] () {}) ());}” jest poprawnym C ++?
Ostatnio natknąłem się na następujący ezoteryczny fragment kodu. int main(){(([](){})());} Sformatuj go w następujący sposób, aby był bardziej czytelny: int main(){ (([](){})()); // Um... what?!?! } Ale nie mogę się zastanowić, jak (([](){})())ważny jest kod. Nie wygląda na składnię wskaźnika funkcji. To nie może być jakiś sposób na przeciążenie operatora. …
271 c++  c++11  lambda  syntax 

10
Czy powinniśmy przekazać shared_ptr przez referencję czy wartość?
Gdy funkcja przyjmuje wartość shared_ptr (z boost lub C ++ 11 STL), przekazujesz ją: według stałej referencji: void foo(const shared_ptr<T>& p) lub według wartości void foo(shared_ptr<T> p):? Wolałbym pierwszą metodę, ponieważ podejrzewam, że byłaby szybsza. Ale czy to naprawdę jest tego warte, czy są jakieś dodatkowe problemy? Czy możesz podać …
270 c++  c++11  boost  shared-ptr 

16
Dlaczego C ++ nie ma śmietnika?
Nie zadaję tego pytania przede wszystkim ze względu na zalety zbierania śmieci. Moim głównym powodem, dla którego o to pytam, jest to, że wiem, że Bjarne Stroustrup powiedział, że C ++ będzie miało w pewnym momencie moduł wyrzucający śmieci. To powiedziawszy, dlaczego nie zostało dodane? Istnieje już kilka śmieciarek dla …



8
„Rozpakowywanie” krotki w celu wywołania odpowiedniego wskaźnika funkcji
Próbuję zapisać w std::tuplezmiennej liczbie wartości, które później zostaną użyte jako argumenty wywołania wskaźnika funkcji, który pasuje do przechowywanych typów. Stworzyłem uproszczony przykład pokazujący problem, który staram się rozwiązać: #include <iostream> #include <tuple> void f(int a, double b, void* c) { std::cout << a << ":" << b << ":" …



12
to_string nie jest członkiem standardu, mówi g ++ (mingw)
Tworzę mały program do zapamiętywania słownictwa, w którym słowa byłyby dla mnie przypadkowo błyskane dla znaczeń. Chcę używać standardowej biblioteki C ++, jak mówi nam Bjarne Stroustroup, ale natknąłem się na pozornie dziwny problem od samego początku. Chcę zmienić longliczbę całkowitą na std::string, aby móc zapisać ją w pliku. Pracowałem …
245 c++  c++11  g++  mingw  tostring 

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.