相关疑难解决方法(0)

什么是移动语义?

我刚刚听完了Scott Meyers关于C++ 0x的软件工程电台播客采访.大多数新功能对我来说都很有意义,我现在对C++ 0x感到兴奋,除了一个.我仍然没有得到移动语义 ......它们究竟是什么?

c++ c++-faq move-semantics c++11

1614
推荐指数
11
解决办法
39万
查看次数

返回const引用vs临时对象

我想知道为什么返回const reference本地对象是非法的,而返回a local object是合法的,只要你将它分配给const reference

vector<int> f_legal() {
    vector<int> tempVec;
    tempVec.push_back(1);
    return tempVec;
}

const vector<int>& f_illegal() {
    vector<int> tempVec;
    tempVec.push_back(1);
    return tempVec;
}

void g() {
    const vector<int>& v1 = f_legal(); // legal
    const vector<int>& v2 = f_illegal(); // illegal
}
Run Code Online (Sandbox Code Playgroud)

编辑:我的观点是,如果将const ref赋给返回的局部变量是合法的,那么不应该将const ref分配给局部变量的返回const ref也是合法的吗?

c++ const reference

8
推荐指数
2
解决办法
3454
查看次数

标签 统计

c++ ×2

c++-faq ×1

c++11 ×1

const ×1

move-semantics ×1

reference ×1