gpt4 book ai didi

c++ - 接受字符串引用的构造函数。馊主意?

转载 作者:太空狗 更新时间:2023-10-29 23:21:28 25 4
gpt4 key购买 nike

这被认为是一个坏主意/坏设计,有一个带有接受引用的构造函数的类,如下所示?

class Compiler
{
public:
Compiler( const std::string& fileName );
~Compiler();
//etc
private:
const std::string& m_CurrentFileName;
};

或者我应该使用值?我其实很关心性能。

最佳答案

如果您在这种情况下使用了值参数,您将在类中拥有对临时对象的引用,该引用在将来的某个时间点将变得无效。

这里的坏主意可能是将引用存储为类中的成员。存储值几乎总是更简单、更正确。在这种情况下,向构造函数传递一个 const 引用是正确的做法。

至于性能,您应该只关心这个它重要的地方,您只能通过分析您的代码才能找到它。您应该始终首先编写代码以确保正确性,其次是为了清晰度,最后是为了性能。

关于c++ - 接受字符串引用的构造函数。馊主意?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1932654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com