Pytania otagowane jako auto

Słowo kluczowe `auto` zostało zmienione w C ++ 11 dla wywnioskowanego typu. Gdy jest używany do zastępowania nazwy typu w zainicjowanej deklaracji zmiennej, zmienna otrzymuje ten sam typ, co inicjator. Gdy jest używany jako typ zwracany, typ zwracany jest określany jako końcowy typ zwracany lub wywnioskowany z wyrażenia zwracanego.


14
Ile kosztuje zbyt wiele w przypadku automatycznego słowa kluczowego C ++ 11?
Używam nowego autosłowa kluczowego dostępnego w standardzie C ++ 11 do skomplikowanych typów szablonów, do czego, moim zdaniem, został zaprojektowany. Ale używam go również do takich rzeczy jak: auto foo = std::make_shared<Foo>(); I bardziej sceptycznie dla: auto foo = bla(); // where bla() return a shared_ptr<Foo> Nie widziałem wiele dyskusji …

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

2
Jakie są zastosowania decltype (auto)?
На этот вопрос есть ответы на Stack Overflow на русском : Конструкция decltype (auto) W języku c ++ 14 wprowadzono decltype(auto)idiom. Zwykle służy do zezwalania autodeklaracjom na używanie decltypereguł dla danego wyrażenia . Szukając przykładów „dobrego” użycia idiomu, przychodzą mi do głowy tylko następujące rzeczy (autorstwa Scotta Meyersa ), a …

7
Automatyczne słowo kluczowe C ++. Dlaczego to magia?
Z całego materiału, którego używałem do nauki C ++, autozawsze był dziwny specyfikator czasu przechowywania, który nie służył żadnemu celowi. Ale niedawno napotkałem kod, który używał go jako nazwy typu. Spróbowałem z ciekawości i przyjmuje on rodzaj tego, co mu przydzielę! Nagle iteratory STL i, cóż, wszystko, co używa szablonów, …
145 c++  types  c++11  auto 




2
operator strzałki (->) w nagłówku funkcji
Natknąłem się na następujący kod: template <typename T, typename T1> auto compose(T a, T1 b) -> decltype(a + b) { return a+b; } Nie mogę zrozumieć jednej rzeczy: Gdzie mogę się dowiedzieć, co oznacza operator strzałki ( ->) w nagłówku funkcji? Myślę, że czysto logicznie, że ->operator określa typ, do …
128 c++  c++11  auto  decltype 

7
Dlaczego auto a = 1; skompilować w C?
Kod: int main(void) { auto a=1; return 0; } jest kompilowany bez błędów przez kompilator MS Visual Studio 2012, gdy plik ma rozszerzenie .c. Zawsze uważałem, że kiedy używasz rozszerzenia .c, kompilacja powinna być zgodna ze składnią C, a nie C ++. Ponadto, o ile wiem, auto bez typu jest …
125 c  auto  c11 

6
Lambda powraca: czy to legalne?
Rozważ ten dość bezużyteczny program: #include <iostream> int main(int argc, char* argv[]) { int a = 5; auto it = [&](auto self) { return [&](auto b) { std::cout << (a + b) << std::endl; return self(self); }; }; it(it)(4)(6)(42)(77)(999); } Zasadniczo próbujemy utworzyć lambdę, która sama się zwraca. MSVC kompiluje …

3
Jak działa generyczna lambda w C ++ 14?
Jak działa generyczna lambda ( autosłowo kluczowe jako typ argumentu) w standardzie C ++ 14? Czy jest oparty na szablonach C ++, w których dla każdego innego typu argumentu kompilator generuje nową funkcję o tej samej treści, ale zastępowanych typach (polimorfizm w czasie kompilacji), czy jest bardziej podobny do generycznych …
114 c++  lambda  auto  c++14 

6
Czy w Javie istnieje automatyczne wnioskowanie typu?
Czy autow Javie istnieje typ zmiennej, taki jak w C ++? Przykład: for ( auto var : object_array) std::cout << var << std::endl; for( auto var : object_array) var.do_something_that_only_this_particular_obj_can_do(); Wiem, że w Javie istnieje ulepszona pętla for, ale czy istnieje opcja auto? Jeśli nie, czy można to zrobić? Mam na …
113 java  c++  auto 

4
Czy styl składni końcowego typu zwracanego powinien stać się domyślnym dla nowych programów w języku C ++ 11? [Zamknięte]
Zamknięte . To pytanie jest oparte na opinii . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć, podając fakty i cytaty, edytując ten post . Zamknięte 3 lata temu . Popraw to pytanie C ++ 11 obsługuje nową składnię funkcji: auto func_name(int …

4
C ++ auto & vs auto
Czy podczas tworzenia zmiennych lokalnych należy używać (const) auto&lub auto? na przykład: SomeClass object; const auto result = object.SomeMethod(); lub const auto& result = object.SomeMethod(); Gdzie SomeMethod () zwraca wartość inną niż pierwotna - być może inny typ zdefiniowany przez użytkownika. Rozumiem, że const auto& resultjest to poprawne, ponieważ wynik …
88 c++  auto 

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.