1 #include <algorithm> 2 #include <vector> 3 #include <iostream> 4 #include <string> 5 #include <numeric> 6 std::string::size_type stringLengthSum(std::string::size_type sumSoFar, const std::string& s) 7 { 8 return sumSoFar += s.size(); 9 } 10 int main() 11 { 12 std::vector<int> v{1,2,3,4,5,6,7,8,9,10,11,12}; 13 auto begin = v.begin(); 14 auto end = v.end(); 15 decltype(begin) goodPosition; 16 goodPosition = begin + 0.3 * v.size(); 17 nth_element(begin, goodPosition, end); 18 std::cout << *goodPosition << std::endl; 19 return 0; 20 }