decltype/dt3.cc - Another sample use of decltype in a function template: container example. | Lecture 2 - slide 24 : 29 Program 3 |
// Illustrates that the return type of f may depend on the 'element type' of the container, more precisely by the type of c[i]. // For some container types, such as vector<bool>, the element type may be non-obvious. // Compiles with g++ -c dt3.cc -std=c++11 // The example is adapted from item 3 of Effective Modern C++. template<typename Container, typename Index> auto f(Container& c, Index i) -> decltype(c[i]){ //... }