#include <iostream>
#include <map>
#include <string>
int main() {
std::map<int,std::string> m = {
{1,"1"},
{2,"2"},
{3,"3"},
{4,"4"},
{5,"5"},
{6,"6"},
{7,"7"},
{8,"8"},
};
int i = 0;
for(auto it = --m.end();it != m.begin();--it,++i){
if(i>4){break;}
std::cout << it->first << ':' << it->second <<std::endl;
}
return 0;
}
пока пользователь не пользуется компьютером
Пример я написал очень условный,
#include <iostream>
#include <array>
#include <vector>
template <typename V, typename... T>
constexpr auto make_array(V &&v, T&&... t) -> std::array < V , sizeof...(T) + 1 >
{
return {{v, std::forward<T>(t)... }};
}
int main()
{
auto array = make_array(
make_array(make_array(1.,2.,3.,4.),make_array(5.,6.,7.,8.),make_array(9.,10.,11.,12.)),
make_array(make_array(14.,15.,16.,17.),make_array(18.,19.,20.,21.),make_array(22.,23.,24.,25.))
);
for(auto && v: array[0][2]){
std::cout << v << ',';
}
}
thread();
thread( thread&& other );
template< class Function, class... Args >
explicit thread( Function&& f, Args&&... args );