gpt4 book ai didi

c++ - 有人可以向我解释这一行吗?

转载 作者:太空宇宙 更新时间:2023-11-04 16:30:06 24 4
gpt4 key购买 nike

好的,这是 C++ 中的一行

typedef vector<double>::size_type vec_sz;

我明白,这一行创建了一个名为 vec_sz 的别名。但是我不明白为什么这里要用vector???一般有什么typedef和vector。我整个晚上都在努力弄清楚,但我还是不明白。

最佳答案

vec_sz 现在是用于表示 vector 大小的数据类型的别名(几乎总是 size_t)。所以假设你想索引 vector 中的元素,你会使用 vec_sz 如下:

for(vector<double>::size_type i = 0; i < some_vector.size(); ++i)
{
...
}

这(感谢 typedef)现在等同于:

for(vec_sz i = 0; i < some_vector.size(); ++i)
{
...
}

您可能想知道,“为什么要使用 vec_sz?为什么我不应该只使用 int?”。好吧,这使您的代码更具可移植性,并且不太容易依赖您的假设(这可能是错误的)。

当然最好通过iterators来访问vector中的元素.

关于c++ - 有人可以向我解释这一行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8042530/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com