Pytania otagowane jako decltype

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 …

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 

2
Różnica między std :: result_of i decltype
Mam problemy ze zrozumieniem potrzeby std::result_ofw C ++ 0x. Jeśli dobrze zrozumiałem, result_ofsłuży do uzyskania wynikowego typu wywołania obiektu funkcji z określonymi typami parametrów. Na przykład: template <typename F, typename Arg> typename std::result_of<F(Arg)>::type invoke(F f, Arg a) { return f(a); } Naprawdę nie widzę różnicy w następującym kodzie: template <typename …
100 c++  c++11  decltype  result-of 

6
Dlaczego odwołania nie są „stałymi” w C ++?
Wiemy, że „zmienna stała” oznacza, że ​​raz przypisana nie można zmienić zmiennej, na przykład: int const i = 1; i = 2; Powyższy program nie skompiluje się; gcc wyświetla komunikat z błędem: assignment of read-only variable 'i' Nie ma problemu, rozumiem to, ale następujący przykład jest poza moim zrozumieniem: #include<iostream> …

3
Deklaracja C ++ i nawiasy - dlaczego?
Temat był wcześniej omawiany , ale to nie jest duplikat. Kiedy ktoś pyta o różnicę między decltype(a)i decltype((a)), jak zwykle odpowiedź brzmi - ajest to zmienna, (a)jest wyrazem. Uważam tę odpowiedź za niezadowalającą. Po pierwsze, ajest to także wyrażenie. Opcje wyrażenia podstawowego obejmują między innymi: ( wyrażenie ) wyrażenie id …
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.