Pytania oznaczone «c++11»

88
Funkcja zwracająca wyrażenie lambda

Zastanawiam się, czy można napisać funkcję zwracającą funkcję lambda w C ++ 11. Oczywiście problemem jest zadeklarowanie takiej funkcji. Każda lambda ma typ, ale tego typu nie można wyrazić w C ++. Myślę, że to nie zadziała: auto retFun() -> decltype ([](int x) -> int) { return [](int x)...

88
Jak działa na podstawie zakresu dla zwykłych tablic?

W C ++ 11 możesz użyć zakresu opartego na zakresie for, który działa jak foreachinne języki. Działa nawet ze zwykłymi tablicami C: int numbers[] = { 1, 2, 3, 4, 5 }; for (int& n : numbers) { n *= 2; } Skąd wie, kiedy przestać? Czy działa tylko z tablicami statycznymi, które zostały...

88
Domyślna, wartość i zerowy bałagan inicjalizacji

Jestem bardzo zdezorientowany co do inicjalizacji wartości i domyślnej oraz zerowej. a zwłaszcza wtedy, gdy zaczynają stosować różne standardy C ++ 03 i C ++ 11 (i C ++ 14 ). Cytuję i próbuję rozszerzyć naprawdę dobrą odpowiedź Value- / Default- / Zero- Init C ++ 98 i C ++ 03 tutaj, aby uczynić...

87
std :: array vs wydajność tablicy

Jeśli chcę zbudować bardzo prostą tablicę, taką jak int myArray[3] = {1,2,3}; Powinienem użyć std::arrayzamiast tego? std::array<int, 3> a = {{1, 2, 3}}; Jakie są zalety używania std :: array nad zwykłymi? Czy jest bardziej wydajny? Po prostu łatwiejsze w obsłudze do kopiowania /...

87
C ++ 11 embrace_back na wektorze <struct>?

Rozważ następujący program: #include <string> #include <vector> using namespace std; struct T { int a; double b; string c; }; vector<T> V; int main() { V.emplace_back(42, 3.14, "foo"); } To nie działa: $ g++ -std=gnu++11 ./test.cpp In file included from...

86
Czy mogę używać C ++ 11 z Xcode?

Rozważam użycie niektórych funkcji C ++ 11 (jak autona przykład) w niektórych projektach wieloplatformowych (Windows + Mac). W systemie Windows Visual Studio obsługuje części nadchodzącego standardu C ++ 11, który pozwoliłby mi uprościć części kodu, więc naturalnie byłbym zainteresowany...