Using an empty initializer : instance object « Class « C++ Tutorial






template<typename T>

struct MyType {
  MyType() : value_(T()) {
  }
  explicit MyType(const T& v) : value_(v) {
  }
private:
  T value_;
};

enum color { black, red, green, blue };

struct point { 
    int x, y; 
};

int main()
{
  MyType<int> i;    
  MyType<color> c;  
  MyType<bool> b;   
  MyType<point> p;  
}








9.32.instance object
9.32.1.Using an empty initializer
9.32.2.Automatically converted into MyClass(4): MyClass ob = 4;
9.32.3.MyClass ob(4)
9.32.4.MyClass ob = MyClass(4);
9.32.5.Creates two objects.
9.32.6.Object assignment
9.32.7.Creating objects on the heap using new
9.32.8.Accessing members of objects on the heap
9.32.9.Call class constructor without new operator
9.32.10.Assign class object