[问题] 右值引用的背后原理或如何达到的

楼主: Clangpp (Clang++)   2016-07-25 22:16:06
小弟我想请问一下,右值引用是一个可以加快程式效能的一种好方法
个人知道怎么使用
ex C++98
template<class T>
void swap(T& a, T& b)
{
T tmp(a);
a = b;
b = tmp;
}
ex C++11的swap
template<class T>
void swap(T& a, T& b)
{
T tmp(std::move(a));
a = std::move(b);
b = std::move(tmp);
}
利用move来减少复制一份的成本
但是我想问背后的到底是怎么达到的??
要去研究编译器的行为
问题2
为什么我目前看到好像没有其他语言做这件事情??
像这相关的东西要如何了解??
谢谢
作者: CoNsTaR ((const *))   2016-07-25 22:35:00
印象中 agda 好像也有 rvalue-reference 只是目的不是改善程式效能好像是增强程式安全性的样子 忘记是不是 agda 了啦……总之 reference 不只 C++ 有

Links booklink

Contact Us: admin [ a t ] ucptt.com