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

4
Co mówi nam auto &&?
Jeśli czytasz kod, taki jak auto&& var = foo(); gdzie foojest dowolna funkcja zwracająca wartość typu T. Następnie varjest lwartość typu rwartość odniesienia do T. Ale co to oznacza var? Czy to oznacza, że ​​wolno nam kraść zasoby var? Czy są jakieś rozsądne sytuacje, w których powinieneś użyć, auto&&aby powiedzieć …

6
Jak włączyć C ++ 11 w Qt Creator?
Tytuł jest dość samoopisowy. Pobrałem Qt Creator 2.7.0 i próbuję skompilować podstawowy kod C ++ 11: int my_array[5] = {1, 2, 3, 4, 5}; for(int &x : my_array) { x *= 2; } Otrzymuję następujący błąd: range based for loops are not allowed in c++ 98 mode Jednak zgodnie z …
167 c++  qt  c++11 

8
Przechwytywanie lambda jako odniesienie do stałej?
Czy możliwe jest przechwycenie przez odwołanie do stałej w wyrażeniu lambda? Chcę, aby zadanie zaznaczone poniżej zakończyło się niepowodzeniem, na przykład: #include <cstdlib> #include <vector> #include <string> #include <algorithm> using namespace std; int main() { string strings[] = { "hello", "world" }; static const size_t num_strings = sizeof(strings)/sizeof(strings[0]); string best_string …
166 c++  c++11  lambda  c++14 



6
Czy funkcje wirtualne mogą mieć parametry domyślne?
Jeśli zadeklaruję klasę bazową (lub klasę interfejsu) i określę wartość domyślną dla co najmniej jednego z jej parametrów, czy klasy pochodne muszą określać te same wartości domyślne, a jeśli nie, to które wartości domyślne będą widoczne w klasach pochodnych? Dodatek: Interesuje mnie również, jak można to załatwić w różnych kompilatorach, …
164 c++  c++11  c++03 

7
Jakie są zalety korzystania z nullptr?
Ten fragment kodu koncepcyjnie robi to samo dla trzech wskaźników (bezpieczna inicjalizacja wskaźnika): int* p1 = nullptr; int* p2 = NULL; int* p3 = 0; A więc jakie są zalety przypisywania wskaźników nullptrnad przypisywaniem im wartości NULLlub 0?
163 c++  c++11  null  c++-faq  nullptr 


7
std :: function vs template
Dzięki C ++ 11 otrzymaliśmy std::functionrodzinę wrapperów funktorów. Niestety ciągle słyszę tylko złe rzeczy o tych nowych dodatkach. Najbardziej popularne jest to, że są strasznie powolne. Przetestowałem to i naprawdę są do niczego w porównaniu z szablonami. #include <iostream> #include <functional> #include <string> #include <chrono> template <typename F> float calc1(F …


2
Używanie inteligentnych wskaźników dla członków klasy
Mam problem ze zrozumieniem użycia inteligentnych wskaźników jako członków klasy w C ++ 11. Dużo czytałem o inteligentnych wskazówkach i myślę, że rozumiem, jak unique_ptri shared_ptr/ weak_ptrdziała ogólnie. To, czego nie rozumiem, to prawdziwe użycie. Wygląda na to, że wszyscy zalecają używanie unique_ptrgo prawie cały czas. Ale jak bym zaimplementował …


6
Przenieś przechwytywanie w lambdzie
Jak przechwycić przez ruch (znany również jako odwołanie do wartości r) w lambdzie C ++ 11? Próbuję napisać coś takiego: std::unique_ptr<int> myPointer(new int); std::function<void(void)> example = [std::move(myPointer)]{ *myPointer = 4; };

7
std :: enable_if, aby warunkowo skompilować funkcję składową
Próbuję uzyskać prosty przykład do pracy, aby zrozumieć, jak używać std::enable_if. Po przeczytaniu tej odpowiedzi pomyślałem, że nie powinno być trudno znaleźć prosty przykład. Chcę użyćstd::enable_if do wyboru między dwiema funkcjami składowymi i pozwolić na użycie tylko jednej z nich. Niestety, poniższe nie skompiluje się z gcc 4.7 i po …
156 c++  templates  g++  c++11 

3
Kiedy używać std :: forward do przekazywania argumentów?
C ++ 0x pokazuje przykład użycia std::forward: template<class T> void foo(T&& arg) { bar(std::forward<T>(arg)); } Kiedy std::forwardzawsze warto używać ? Ponadto wymaga użycia &&w deklaracji parametrów, czy jest ważny we wszystkich przypadkach? Myślałem, że musisz przekazać tymczasowe do funkcji, jeśli funkcja została &&w niej zadeklarowana , więc czy można wywołać …

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.