接着上一章<C++ template>
#include <iostream>
void test_decltype()
{
auto sum = [](const auto& start, const auto& end)
{
using s_t = std::remove_cvref_t<decltype(start)>;
s_t s{};
for (s_t i = start; i < end; ++i)
s += i;
return s;
};
auto s = sum(1, 11);
std::cout << "1 + ... + 10 = " << s << std::endl;
}
int main()
{
test_decltype();
return 0;
}