C em sistemas embarcados tradicionalmente usa estruturas para armazenar dados estruturados.
O Arduino traz C ++ para a tabela, para que possamos usar classes.
Digamos que temos duas estruturas de dados diferentes que podem ser consideradas muito semelhantes:
typedef struct
{
int valueOne;
int valueTwo;
int valueThree;
} value_t;
e:
class Value
{
public:
int valueOne;
int valueTwo;
int valueThree;
}
Em termos de memória, que diferença isso fará?
Eu ainda vejo a técnica struct sendo usada fortemente - por que isso?
struct
s são usados principalmente porque a grande maioria do hardware incorporado é codificada em C; portanto, qualquer pessoa que gaste muito tempo escrevendo código para MCUs pequenos provavelmente conhece C muito melhor que C ++ e acessa automaticamente os idiomas C antes dos idiomas C ++. É um problema de desempenho do programador .
struct
eclass
além do padrão visibilidade