fork(1) download
  1. #include <cstdint>
  2. #include <iostream>
  3.  
  4. struct struct_1
  5. {
  6. std::uint8_t const variable1;
  7. std::uint16_t const variable2;
  8. };
  9.  
  10. template<typename T>
  11. struct config_data
  12. {
  13. T const * const ptr_to_c_array;
  14. std::uint8_t const arraySize;
  15. };
  16.  
  17. template <typename T, std::size_t N>
  18. config_data<T> make_config_data(const T (&a)[N])
  19. {
  20. return {a, N};
  21. }
  22.  
  23. int main()
  24. {
  25. struct_1 const array_1[] = { {2,5},{1,9},{20,20} };
  26. config_data <struct_1> const config_data_1 = make_config_data(array_1);
  27.  
  28. std::cout << array_1 << std::endl;
  29. std::cout << config_data_1.ptr_to_c_array << std::endl;
  30. std::cout << int(config_data_1.arraySize) << std::endl;
  31. }
  32.  
Success #stdin #stdout 0s 3296KB
stdin
Standard input is empty
stdout
0xbfb032a4
0xbfb032a4
3