make_index_sequence: This is available within the file utility.
std::make_index_sequence<N>() creates a std::index_sequence<0, 1, 2,....N> object.
Approach
C++
#include <bits/stdc++.h>using namespace std;template <typename T, size_t... I>array<T, sizeof...(I)> make_array(T const &value,index_sequence<I...>){return array<T, sizeof...(I)>{(I, value)...};}template <int N, typename T>array<T, N> make_array(T const &value){//use of make_index_sequencereturn make_array(value, make_index_sequence<N>());}int main(){auto array = make_array<5>(string("5"));for (int i = 0; i < array.size(); i++)cout << array[i] << " ";}
No comments:
Post a Comment