Ho scritto una libreria per il mio progetto (per ora sto usando Arduino). Il problema che ho è che string
in C++ e in Arduino differiscono.Come combinare stringhe C++ e stringhe Arduino?
Cioè, vorrei che la mia libreria fosse indipendente da Arduino, quindi sto usando #include <string>
e successivamente dichiarando string s;
. Tuttavia in Arduino le stringhe sono definite da Arduino e dichiarate String s2
.
Quando includo la mia libreria nello schizzo, ottengo error: string: No such file or directory
sulla riga in cui tento di includere la libreria di stringhe C++ (#include <string>
).
C'è un modo per far sì che Arduino usi la libreria di stringhe C++ o converta una stringa in una stringa Arduino durante la compilazione?
Grazie. Cercherò di usare char * allora, dal momento che non ho bisogno di molte stringhe. – Tautvydas
Come si può implementare C++ senza operatori 'new' o' delete'? Non spezzerebbe tutto? – anthropomorphic
Con C++, è possibile creare oggetti nello stack con l'archiviazione automatica, mentre non si utilizza l'heap. Basta non usare puntatori e "nuovi" durante la creazione di oggetti. L'oggetto viene automaticamente eliminato alla fine dell'oscilloscopio, come una primitiva classica. Con Arduino, è il motivo per cui gli oggetti vengono generalmente creati al di fuori di qualsiasi funzione nell'ambito globale e quindi inizializzati all'interno della funzione setup() (poco è fatto nel costruttore, è preferibile una funzione simile a init()). Possono quindi essere utilizzati nella funzione loop() senza dover passare alcun riferimento a puntatore a loop(). –