簡體   English   中英

pop_back function 在自定義向量 class

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM