[問題] 右值引用的背後原理或如何達到的

作者: 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