string a = "hello";此代码行是先用默认构造函数生成a对象再进行赋值,还是直接用关于字符串指针的构造函数来创建对象?
这个不是默认构造函数,他是通过隐式转化得来的
直接用构造函数你可以试试如果不初始化赋值,而直接给a赋值"hello",是会抛错误的因为"hello"的类型是char[],与string不兼容