Projem için bir kütüphane yazıyorum (şimdilik Arduino kullanıyorum). Sahip olduğum problem, C++ ve Arduino'daki string
'un farklı olmasıdır.C++ dizeleri ve Arduino Dizeleri nasıl birleştirilir?
Kitaplığımın Arduino'dan bağımsız olmasını isterim, bu yüzden #include <string>
kullanıyorum ve daha sonra string s;
bildiriyor. Ancak Arduino dizilerinde Arduino tarafından tanımlanmış ve String s2
beyan edilmiştir.
Kitaplığımı taslağa eklediğimde, C++ dize kitaplığı (#include <string>
) eklemeye çalıştığım satırda error: string: No such file or directory
olsun.
Arduino'nun C++ dizgi kitaplığını kullanması veya derleme sırasında dizeyi Arduino dizgisine dönüştürmesinin bir yolu var mı?
Teşekkür kullanmak olacaktır. Sonra char * kullanmaya çalışacağım, çünkü çok fazla dizeye ihtiyacım yok. – Tautvydas
"Yeni" veya "silme" operatörleri olmadan C++ nasıl uygulanabilir? Bu sadece her şeyi kırmaz mı? – anthropomorphic
C++ ile yığın kullanarak değil, otomatik depolama ile yığın üzerinde nesneler oluşturmak mümkündür. Nesneleri oluştururken yalnızca işaretçiler ve "yeni" kullanmazsınız. Nesne, daha sonra, klasik bir ilkel gibi, kapsamın sonunda otomatik olarak silinir. Arduino ile, nesnelerin genellikle, genel kapsamdaki herhangi bir fonksiyonun dışında oluşturulduğu ve daha sonra setup() işlevinin içine intialize edildiği (kurucuda çok az, init() gibi bir işlev tercih edilir). Daha sonra, loop() işlevine herhangi bir işaretçi başvurusu göndermeye gerek kalmadan loop() işlevinde kullanılabilirler. –