最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

c++ - Returning a reference to a class field via local reference - Stack Overflow

programmeradmin0浏览0评论

As I understand, this code is safe:

class Clazz {
public:
    Clazz() {
        holder_[0] = Test(42);
    }

    Test& bar() {
        return holder_[0];
    }

    void foo() {
        const Test& t = bar();
        std::cout << "t has val " << t.getVal() << std::endl;
    }
private:
    std::map<int, Test> holder_;
};

int main() {
    Clazz c;
    c.foo();
}

Would this code still be safe if bar was implemented like this:

Test& bar() {
    Test &t = holder_[0];
    return t;
}
发布评论

评论列表(0)

  1. 暂无评论