Работа с объектами как с элементами массивов - возможно ли?

Scare
Offline
Зарегистрирован: 30.08.2012

Существует ли возможность в Wiring оперировать массивами объектов?
Например, возникает необходимость инициализации нескольких объектов Bounce ( www.arduino.cc/playground/code/bounce )

Bounce pinbounced0 = Bounce( pin[0], interval[0] );
Bounce pinbounced1 = Bounce( pin[1], interval[1] );
Bounce pinbounced2 = Bounce( pin[2], interval[2] );

Возникает соблазн оперировать индексированными объектами, нечто вроде

if ( pinbounced[i].update() ) {...}

Возможно ли нечто в подобном духе? Если да, можно ли посмотреть на соответствующий пример?
 

leshak
Offline
Зарегистрирован: 29.09.2011

 Думаю возможно, но сам до конца не разбирался с этим. Нашел временное решение которого мне хватило, ну и плюнул.

Решение в следующем. Вначале, все-таки, объявляем все объекты как пременные, а потом создаем массив ссылок на объекты.

И методы вызывать нужно будет не .update(), а ->update()

Bounce *pins[]={&pinbounced0,&pinbounced1,&pinbounced2};

.....

pins[i]->update();
......

 

Scare
Offline
Зарегистрирован: 30.08.2012

Ясно. Большое спасибо за ответ.

Подумаю, совместимо ли оно с моей потребностью: динамическим формированием наборов пинов, управляемых посредством Bounce. Возникла также идея переписать библиотеку, но дело это будет неспешное, если получу результат - отпишусь.