B is true. A, C and D are false.
E requires clarification. It depends on what is meant by “generating a function signature”.
As for the compiler, a signature is a signature. Arguments by default only matter when the function is called. Where the default values are replaced. Thus, the function has a signature with which it is written.
If “generating a function signature” means “what is a C ++ signature for a function”, then the signature does not care if the argument is the default value. But if "generating a function signature" means "as you call it," then it takes care of the default values.
source share