Advertisement
Guest User

Untitled

a guest
Dec 5th, 2024
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.58 KB | None | 0 0
  1.  
  2. #include <iostream>
  3. #include <array>
  4. #include <functional>
  5.  
  6. template <class T, int array_size, class func_t>
  7. constexpr std::array<T, array_size> from_fn(func_t f) {
  8.    
  9.     std::array<T, array_size> arr{};
  10.    
  11.     for (int i = 0; i < array_size; i++) {
  12.        
  13.         arr[i] = f(i);
  14.     }
  15.    
  16.     return arr;
  17. }
  18.  
  19.  
  20. constexpr auto a = from_fn<int, 10>([](auto x) {return x*25;});
  21. constexpr auto b = from_fn<double, 5>([](auto x) {return 0.1*x;});
  22.  
  23. int main() {
  24.    
  25.     std::cout << a.at(5) << std::endl;
  26.     std::cout << b.at(2) << std::endl;
  27.  
  28.     return 0;
  29. }
  30.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement