【问题标题】:Using constructor call as function parameter [duplicate]使用构造函数调用作为函数参数[重复]
【发布时间】:2015-05-13 14:53:19
【问题描述】:

使用构造函数调用作为参数是个好主意吗?例如。像

doSomething(ClassA(someConstructorParameter));

函数终止时对象会被销毁吗?或者,如果你有一个接受 char* 的函数并且你不希望它弄乱一个字符串,那么

someFunction(string(str).c_str());

是个坏主意?

【问题讨论】:

  • basic_string::c_str 返回const char*
  • 哦,好吧,反正是重复的。

标签: c++ string function-calls


【解决方案1】:

函数返回后,临时函数将在完整表达式结束时销毁。所以只要函数不在某处存储指针或对参数的引用就可以了;这将在以后无效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-29
    • 2018-10-17
    • 2015-07-23
    • 2015-07-02
    • 2015-07-21
    相关资源
    最近更新 更多