gpt4 book ai didi

C++多次通过引用返回

转载 作者:搜寻专家 更新时间:2023-10-31 00:19:09 24 4
gpt4 key购买 nike

我一直在使用按引用返回来尝试加速我的代码并避免多次昂贵的复制操作。

我有一个 access 成员函数,如下所示:

    std::string const& access_element(int index) const;

如果我有另一个调用 access_element() 的成员函数,我是否还需要通过引用返回它?

例如。

    float const& access_element2(int index) const {
return atof(access_element(index));
}

对比

    float access_element2(int index) {
return atof(access_element(index));
}

最佳答案

您通过引用返回一个临时值。在这种情况下,您的瓶颈在于 atof,而不是返回拷贝。atof 返回一个临时值。如果您的目的是通过引用返回来加快速度,您应该返回一个成员对象,或者返回一个通过引用返回的成员对象(如 vector 项)的成员对象。

float const& access_element2(int index) const {
return elements[index];
}

关于C++多次通过引用返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8911721/

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