Is not std::function about the very same as a delegate?
Properties can be sort of emulated with operator overloading, but it really is clunky at very best.
But yes, deprecating old stuff that you need to no longer use need to be a priority. Just marked as deprecated, so you can nevertheless use it, but get a warning. So far the only factor that I know off that this occurred with is std::auto_ptr.
Ideal out ban “mutable”, “volatile” and “const_cast” by default.
Subsequent, generating factors significantly less verbose. It appears with every single new addition and “you need to be employing X as an alternative of Y”, the quantity of syntax doubles. See old style cast vs new style cast.
And, kill odd syntax guidelines, like this becoming valid:
int major(int argc, char** argv)
You may well guess what it does. Yes, it compiles. No it does not what you count on. Yes, it really is a supply of bugs.