Template keyword
- Войдите на сайт для отправки комментариев
Втр, 06/03/2012 - 00:56
Наткнулся тут на одно библиотечку www.arduino.cc/playground/Code/Utility
Интерестна даже не сколько она, сколько реализация. Там увидел вот такой код:
template <typename type, typename param1, typename param2, typename mod> void foreach(type* pins, byte numberOfPins, void (*function)(param1,param2),mod modifier){ for (byte i=0; i<numberOfPins; i++){ function(pins[i],modifier); } } template <typename type, typename param1, typename param2, typename mod> void foreach(type* pins, int from, int to, void (*function)(param1,param2),mod modifier){ for (byte i=from; i<=to; i++){ function(pins[i],modifier);
Из чего возник вопрос "а что это за template такой?" (строчки 01 и 08).
То есть "примерно понятно", но найти в документации его упоминаний - не удалось. Гугл, в основном плюется ссылками на C++, где это используется больше для классов, а не функций. И неизвестно насколько C++ template соотвествует ардуинистому template.
Кто-нибудь видел какие-нибудь статьи/туториалы где объясняется его правильное использование?
То есть "примерно понятно", но найти в документации его упоминаний - не удалось. Гугл, в основном плюется ссылками на C++, где это используется больше для классов, а не функций. И неизвестно насколько C++ template соотвествует ардуинистому template.
Arduino IDE использует в качестве компилятора GCC, адаптированный под AVR. Добавьте в строку поиска "GCC" и изучайте страницы, учитывающие особенности Arduino.