He estado escribiendo una biblioteca para mi proyecto (por ahora estoy usando Arduino). El problema que tengo es que string
en C++ y en Arduino son diferentes.¿Cómo combinar cadenas de C++ y cadenas de Arduino?
Es decir, me gustaría que mi biblioteca sea independiente de Arduino, entonces estoy usando #include <string>
y luego declaro string s;
. Sin embargo, Arduino define las cadenas Arduino y declaró String s2
.
Cuando incluyo mi biblioteca en el boceto obtengo error: string: No such file or directory
en la línea donde trato de incluir la biblioteca de cadenas C++ (#include <string>
).
¿Hay alguna manera de hacer que Arduino use la biblioteca de cadenas C++, o convertir una cadena en una cadena Arduino al compilar?
Gracias. Trataré de usar char *, ya que no necesito muchas cadenas. – Tautvydas
¿Cómo se puede implementar C++ sin operadores 'new' o' delete'? ¿Eso no rompería casi todo? – anthropomorphic
Con C++, es posible crear objetos en la pila con almacenamiento automático, sin usar el montón. Simplemente no utiliza punteros y "nuevo" al crear objetos. El objeto se elimina automáticamente al final del alcance, como una primitiva clásica. Con Arduino, es por eso que los objetos se crean generalmente fuera de cualquier función en el ámbito global, y luego se inicializan dentro de la función setup() (poco se hace en el constructor, se prefiere una función init() like). Luego pueden usarse en la función loop() sin tener que pasar ninguna referencia de puntero a loop(). –