- ベストアンサー
Arduinoでプログラミングするにあたっての質問です。
Arduinoでプログラミングするにあたっての質問です。 ArduinoのWikiを見るとC/C++風の構文と書いてあったのですが、 Cの機能をサポートしているのはわかったのですが、 C++のどの機能をサポートしているのか全く分かりません。 どなたか分かる方いましたら教えてもらえませんか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>C++は経験が無く、具体的にはどんな機構がサポートされているのか分かりませんでした。 少なくともライブラリでクラスの継承・オーバーロード・オーバーライド・カプセル化は行われています。ポリモーフィズムも問題なく出来るでしょう。テンプレートは試していないので分かりません。ほぼC++の主要な機能は使えると思います。 ただし、STL(スタンダードテンプレートライブラリ)は使えてもプログラムメモリの消費が激しいので使用はお薦めできません。 どの用語もC++あるいはJavaなどオブジェクト指向言語の知識が無いと分からないと思いますが、その様なことを聞きたいのでしょうか? あっ、それとcin/coutは使えません。
その他の回答 (1)
- zwi
- ベストアンサー率56% (730/1282)
ライブラリを見ると分かりますが、完全なC++な構文で書かれています。 実際のコンパイルはgccで行っていますので、C++規格には完全に準拠していると思って良いです。 Arduino言語は、一種のプリプロセッサでコンパイル時にはC++としてコンパイルされているワケですね。
補足
ご回答ありがとうございます。 今までライブラリの中身まで見ていなかったのですが、ライブラリの中身は何やら見たことのない構文がちらほらと発見されました。 zwiさんの回答では、C++規格に完全に準拠と書いてありましたが、Arduinoの本やWeb等ではC言語は完全対応でC++はいくつかの機能だけと書いてあることが多いです。 今までC言語はプログラミング経験があるのでCの機構は大体サポートされていることは理解できたのですが、C++は経験が無く、具体的にはどんな機構がサポートされているのか分かりませんでした。 もし、知っていたら教えて頂けませんでしょうか。 または、参考になるサイト等ございましたら教えて頂けたら幸いです。
お礼
JAVAは若干使ったことがあるので、クラス関連については理解できました。 テンプレート、STLについては使ったことがないので、これから少しずつ理解していきたいと思います。 大体ですが、Arduinoのプログラミングについて把握できたと思います。 丁寧な説明ありがとうございました。 また、何かの機会がございましたらよろしくお願い致します。