[英]pop_back function in custom vector class
所以我一直在看這個網站的代碼: https://www.geeksforgeeks.org/program-to-create-custom-vector-class-in-c/ 。 但是我在理解這部分時遇到了問題:
template <typename DT>
DT GenericMyVector<DT>::pop_back()
{
return arr[length-- - 1];
}
我知道這會將int length
降低一,當您調用 function 大小時,它會小一。 但這是我的問題: - 1
做什么? 由於 arrays 的大小是固定的,這如何降低向量占用的 memory 的數量? 最后一個元素究竟是如何彈出回來的?
length--
計算長度的值(計算后遞減)。 因此,您正在訪問的項目是arr[length - 1]
。 您需要 -1 因為數組索引從零開始。
更容易將代碼視為:
template <typename DT>
DT GenericMyVector<DT>::pop_back()
{
DT value = arr[length - 1];
length--;
return value;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.