繁体   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