>- Stealing C# attribute notation instead of having the ridiculous __stdcall sort of convention
C++17 introduced the attributes in the form of [[attribute]], e.g. [[maybe_unused]], [[fallthrough]]. Clang also supports e.g. [[gnu::packed]] instead of __attribute__((packed)).
>- A real keyword for include guards
"#pragma once" is de facto supported everywhere. The general stance seems to have been to not bother with standardizing, as modules were a better solution anyway.
>- Function pointer syntax sugar
Aliasing function pointer seems mostly reasonable?
using my_function_pointer = double(*)(int a, int b);
C++17 introduced the attributes in the form of [[attribute]], e.g. [[maybe_unused]], [[fallthrough]]. Clang also supports e.g. [[gnu::packed]] instead of __attribute__((packed)).
>- A real keyword for include guards
"#pragma once" is de facto supported everywhere. The general stance seems to have been to not bother with standardizing, as modules were a better solution anyway.
>- Function pointer syntax sugar
Aliasing function pointer seems mostly reasonable?