TStorage
?std::vector
, std::list
и std::deque
? Или для чего-то еще?std::transform
[?]? Или ты просто хочешь для самообучения сделать его аналог?однако, когда если функция несколько раз перегружена, то уже не работает.
func
функция имеет перегрузки и у тебя сложности к синтаксисом передачи конкретной перегрузки? switch-case
. Еще лучше - вывести аппроксимирующую функцию и работать через нее. Прыгать по коду - не самое легкое решение. Массив - это данные в динамической памяти, для получения которых требуется совершить две выборки из памяти. Двумерный массив - это уже три выборки из памяти. И так далее. Атмега не имеет предсказателя и все операции делает в лоб. Выборка из памяти делается многократно медленнее прыжков по switch-case
.switch-case
- это точно лишнее с т.з. ручного труда и неплохо бы действительно код переписать в массив. switch-case
лучше подходит для типов перечислений. Хотя 100 пар это ни о чём. Вы время засекали?
mbrtoc16
, mbrtoc32
, c16rtomb
и c32rtomb
. И это потому что, снова, не все реализации стандартной библиотеки C++ реализуют эти же функции. Многие разработчики приходят к такому же решению при отказе от codecvt. Иные пользуются тем же ICU и про codecvt даже не вспоминали. ;
, который находится в конце строки. Люди ждут выражений не более чем в одну строчку. Когда в конце строки находится не ;
, код снова начинает сбивать читателя с толку. В самом крайнем случае допускается разбивка арифметических выражений на несколько строк. Да и то, на ревью такой код с вероятностью 80% потребуют переформулировать в пояснительные константы. Больших арифметических выражений в коде тоже быть не должно.
Твой вопрос непонятен.