 Quote by Hurkyl
At the very least, you missed the comma operator. (Does new, new[], delete, and delete[] count too? Hrm)
|
The default comma operator is just a sequence operator, that does absolutely nothing. If you are going to count it as an "implicit function", so does the add (+), increment (++), multiply (*), etc. :)
I don't think new and delete count as "implicit"; I consider them built-in, just like the operators on primitive types. In fact, the compiler won't generate any code, it will just call the implementation provided by the standard library - that's why you can replace them through <new> (as the linkage of the standard library happens after the symbols were resolved); so new and delete are as implicit as malloc and free.
BTW, right after posting, I checked my copy of the standard to make sure, and it also lists the implicit functions the same way I did. So anything beyond this is a matter of interpretation of what
"THE SPECIAL FUNCTIONS A C++ COMPILER CAN CREATE IMPLICITY" means.