[英]Rvalue reference
在嘗試從此處理解Rvalue引用時,我無法理解兩件事
- 如果向量中有N個字符串,則每個副本可能需要多達N + 1個內存分配和[...]
“ N + 1”中的+1是什么?
2.作者如何突然達到以下准則
准則:請勿復制函數參數。 而是按值傳遞它們,然后讓編譯器進行復制。
我想念什么嗎?
“ N + 1”中的+1是什么?
一種分配為新矢量創建基礎數組,然后進行N種分配,為矢量中的N個字符串中的每個字符串分配一個。
作者如何突然得出以下准則
他在爭辯說, 與其在函數內部顯式復制副本,不如在函數內部復制副本,
std::vector<std::string>
sorted2(std::vector<std::string> const& names) // names passed by reference
{
std::vector<std::string> r(names); // and explicitly copied
std::sort(r);
return r;
}
將參數傳遞給函數時,應讓編譯器進行復制,
std::vector<std::string>
sorted2(std::vector<std::string> names) // names passed by value
{ // and implicitly copied
std::sort(names);
return names;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.