关于#c++#的问题:string a = "hello"

string a = "hello";
此代码行是先用默认构造函数生成a对象再进行赋值,还是直接用关于字符串指针的构造函数来创建对象?

这个不是默认构造函数,他是通过隐式转化得来的

直接用构造函数
你可以试试如果不初始化赋值,而直接给a赋值"hello",是会抛错误的
因为"hello"的类型是char[],与string不兼容