Самая оптимальная функция должна была бы использовать таблицу вместо функции. Используя функцию заставляет дополнительную загрузку ЦП создавать стоимость для возвращаемых данных, особенно если значения, возвращаемые покрытие очень большой спектр.
Я не знаю конкретно C ++, но что касается видеолекций по концепциям программирования, посмотрите это:
Большинство университетов будут защищать такие вещи.
воспользуйтесь iTunes U, найдите курс в Стэнфорде у них есть курс по c ++ в itunes