Леонид Каганов
8.87K subscribers
3 photos
1 video
1.63K links
Новости и заметки https://lleo.me/dnevnik
Download Telegram
2020/02/04 Подскажите решение по C++ ?

Часто встречаю на Ардуино библиотеки, которые требуют инициализации в коде с заранее заданнными пинами, например:

=============== cut ===============
#include <LampDriver.h>

#define PIN1 4
#define PIN2 16

LampDriver MyLAMP1(PIN1);
LampDriver MyLAMP2(PIN2);

void loop {
  MyLAMP1.blink();
  MyLAMP2.blink();
  sleep(100);
}
=============== /cut ===============

Всё бы ничего, но в моей задаче нельзя заранее знать, сколько будет ламп (и будут ли вообще), и к каким пинам они окажутся подключены — эта информация появится лишь в процессе исполнения loop().

Соответственно, я подозреваю, что в C++ имеется на этот случай какой-то особый синтаксис. Например, вот мне подсказывали, new. Но как это правильно записать? LampDriver *MyLAMP1 = new LampDriver(4); ? И далее MyLAMP1.blink(); будет работать? У меня всякие ошибки сыпятся.

оригинал заметки: открыть