I was reading the difference between direct-initialization and copy-initialization (§8.5/12):
T x(a); //direct-initialization T y = a; //copy-initialization
Here you can find this (with your comment ;)):
[the standard] also says that the temporary copy can be elided, but the semantic constraints (eg. accessibility) of the copy constructor still have to be checked.