关于两种初始化方式.解决方法

关于两种初始化方式...
请问第二个初始化 是不是使用了 复制构造函数?  
string str1("value");
string str2 = "value";


又请问这两个有何区别?
str2(str1);
str2=str1;

------解决方案--------------------
头两个没区别,都是初始化。后面两个中,第一个是错误的,第二个是赋值。
------解决方案--------------------
探讨

对不起, 打错了应该是

string s2(s1);
s2=s1;
s2="value";

究竟 哪一个运行了copy constructor?

------解决方案--------------------
探讨

对不起, 打错了应该是

string s2(s1);
s2=s1;
s2="value";

究竟 哪一个运行了copy constructor?

------解决方案--------------------
是。。。