std::get<C++11多线程库>(07):向线程函数传递参数(5)
1 //! [3] ====================== *引用/指针 语义下变量地址情况回顾*================== 2 int main(int argc, char *argv[]){ 3 4 int a = 10; //0x4ffe28 5 int &refa = a; //0x4ffe28 6 int *pa = &a; //0x4ffe28 7 return 0; 8 } 9 //分析 10 /* 11 同一变量,它的引用,它的指针, 三者的地址全部相同,都是指向同一地址空间。 12 */ 13 //! [3]
1 //! [4] ====================== * 问-思考-3 *================== 2 //分析 3 /* 4 同一变量,它的右值引用,二者的地址相同,都是指向同一地址空间。 5 */ 6 int main(int argc, char *argv[]){ 7 8 int a = 10; //0x53fe64 9 int && rrefa = std::move(a); //0x53fe64 10 11 a = 20; 12 std::cout<<"a="<<a<<"; rrefa="<<rrefa<<std::endl; 13 14 rrefa = 30; 15 std::cout<<"a="<<a<<"; rrefa="<<rrefa<<std::endl; 16 17 std::cout<<"...lucky bear..."<<std::endl; 18 return 0; 19 } 20 //打印输出: 21 /* 22 a=20; rrefa=20 23 a=30; rrefa=30 24 ...lucky bear... 25 */ 26 27 28 //! [4]
std::get<C++11多线程库~线程管理>(08):转移线程所有权(1)
原创文章, 转载请注明出处!