c++ - What is the difference between those ways to create an object? -
i have class name type. difference between:
1.
type t=a; 2.
type t(a); where 'a' variable.
and difference between:
3.
type t; 4.
type t(); thank you.
edit: there answers contradict each other. has final answer?
type t=a; this copy initialization (§8.5/15). requires type has non-explicit constructor taking argument of whatever type a is, or type a implicitly convertible to.
type t(a); this direct initialization (§8.5/16). t can constructed argument a if corresponding constructor explicit.
type t; t default initialized (§8.5/12).
type t(); this function declaration function named t returns type value (§8.5/11).
Comments
Post a Comment