Pytania oznaczone «c++11»

101
Jak mogę przekazać std :: unique_ptr do funkcji

Jak mogę przekazać a std::unique_ptrdo funkcji? Powiedzmy, że mam następującą klasę: class A { public: A(int val) { _val = val; } int GetVal() { return _val; } private: int _val; }; Następujące elementy nie są kompilowane: void MyFunc(unique_ptr<A> arg) { cout <<...

100
Haszowanie ciągów czasu kompilacji

W kilku różnych miejscach przeczytałem, że przy użyciu nowych literałów ciągów C ++ 11 może być możliwe obliczenie skrótu ciągu w czasie kompilacji. Jednak nikt nie wydaje się być gotowy, aby wyjść i powiedzieć, że będzie to możliwe i jak to się stanie. czy to możliwe? Jak wyglądałby...

100
Funkcja sekwencji-zip dla C ++ 11?

Dzięki nowej pętli for opartej na zakresach możemy pisać kod podobny do for(auto x: Y) {} Która IMO jest ogromnym ulepszeniem (np.) for(std::vector<int>::iterator x=Y.begin(); x!=Y.end(); ++x) {} Czy można go użyć do zapętlenia dwóch równoczesnych pętli, jak zipfunkcja Pythona ? Dla...

99
Jak zaimplementowano std :: function?

Według źródeł, które znalazłem, wyrażenie lambda jest zasadniczo implementowane przez kompilator, tworząc klasę z przeciążonym operatorem wywołania funkcji i zmiennymi, do których się odwołujemy jako składowymi. Sugeruje to, że rozmiar wyrażeń lambda jest różny, a przy wystarczającej liczbie...

98
Dlaczego kopiujemy, a potem przenosimy?

Widziałem gdzieś kod, w którym ktoś zdecydował się skopiować obiekt, a następnie przenieść go do członka danych klasy. Wprawiło mnie to w zakłopotanie, ponieważ myślałem, że celem przeniesienia jest uniknięcie kopiowania. Oto przykład: struct S { S(std::string str) : data(std::move(str))...