Hi, Jim. This is what I think are the operations generated.
Code:
1. int i = 0;
int j(0); // int constructor, given a parameter of 0
int i(j); // int copy constructor, given a reference to j
Code:
2. int i ; i = 0;
int i(); // int constructor, given no parameter
int j(0); // int constructor, given a parameter of 0
i = j; // assignment operator
Code:
3. int i(0);
// Calls int constructor with parameter of 0
Code:
4. int i {0};
// Calls int constructor with parameter of 0
The second part of my question is - is there any difference between builtin types and user-defined types in terms of my ability to define/overload constructors and operators?