История изменений
Исправление SZT, (текущая версия) :
Если calc_temp_array_size() — это constexpr-функция, то мы получаем возможность размещать tmp_array на стеке или в статической памяти. В отсутствие constexpr вы что предлагаете делать?
Предлагаю сделать код, который
printf("%" PRIu64 "\n", calc_temp_array_size(12, 15, 100500) );
./a.out > arrsz.h
float tmp_array[
#include "arrsz.h"
];
float tmp_array[
/*## EXEC(printf("%" PRIu64 "\n", calc_temp_array_size(12, 15, 100500) ); */
];
Откуда дровишки? Участвовали в разработке GCC, Clang, Intel C++ или Microsoft С++?
А вы прикиньте, что надо сделать в том же GCC чтобы обеспечить возможность обрабатывать эти constexpr-ы в компилтайме, учитывая еще тот факт, что это может быть кросскомпилятор, который скажем на интеле работает, а код генетирует под какой-нибудь AVR 16-битный. А сделать надо ИНТЕРПРЕТАТОР этого C++
Исходная версия SZT, :
Если calc_temp_array_size() — это constexpr-функция, то мы получаем возможность размещать tmp_array на стеке или в статической памяти. В отсутствие constexpr вы что предлагаете делать?
Предлагаю сделать код, который
printf("%" PRIu64 "\n", calc_temp_array_size(12, 15, 100500) );
./a.out > arrsz.h
float tmp_array[
#include "arrsz.h"
];
float tmp_array[
/*## EXEC(calc_temp_array_size(12, 15, 100500)); */
];
Откуда дровишки? Участвовали в разработке GCC, Clang, Intel C++ или Microsoft С++?
А вы прикиньте, что надо сделать в том же GCC чтобы обеспечить возможность обрабатывать эти constexpr-ы в компилтайме, учитывая еще тот факт, что это может быть кросскомпилятор, который скажем на интеле работает, а код генетирует под какой-нибудь AVR 16-битный. А сделать надо ИНТЕРПРЕТАТОР этого C++