使用构造函数调用作为函数参数
Using constructor call as function parameter
使用构造函数调用作为参数是个好主意吗?例如。像
doSomething(ClassA(someConstructorParameter));
函数终止时对象会被销毁吗?或者,如果您有一个接受 char* 的函数并且您不希望它弄乱字符串,would
someFunction(string(str).c_str());
是个坏主意吗?
在函数 returns 之后的完整表达式结束时,临时对象将被销毁。所以只要函数不在某处存储指针或对参数的引用就可以了;稍后将无效。
使用构造函数调用作为参数是个好主意吗?例如。像
doSomething(ClassA(someConstructorParameter));
函数终止时对象会被销毁吗?或者,如果您有一个接受 char* 的函数并且您不希望它弄乱字符串,would
someFunction(string(str).c_str());
是个坏主意吗?
在函数 returns 之后的完整表达式结束时,临时对象将被销毁。所以只要函数不在某处存储指针或对参数的引用就可以了;稍后将无效。