The "Arduino language" (as they call it) of the Arduino IDE 1 is obviously C++. Which C++ exactly?
I tried to figure it out myself (Arduino IDE 1.8.13 for Arduino Uno), but I can't conclude what C++ standard it supports.
From these tests, it seems to support C++14
C++ 14 variable templates are supported (
template<typename T> constexpr T pi = T(3.1415926535);
)C++ 14 lambda captures are supported (
auto lambda = [value = 1] {return value;};
)C++ 14 deprecated is supported (
[[deprecated]]int fdep(){return 5;}
)
But not fully:
- C++ 14 digit separators are not supported (
int j = 2'000;
)
From these tests, it even seems to support some C++17:
- Nested namespace definitions are supported (
namespace X::Y {int func(){ return 1; } }
)
But also not fully:
- UTF-8 characters are not supported (
char x = u8'a';
)
If it partially supports everything, is there an overview like a list or table where I can look it up?
-std*
, etc).