gpt4 book ai didi

c++ - 在 C++11 中是否有更优雅的方法来执行以下操作?

转载 作者:太空宇宙 更新时间:2023-11-03 10:27:32 25 4
gpt4 key购买 nike

我想避免有关 unsigned int 和 signed int 之间比较的警告。

我使用循环,例如:

for (int i =0 ; i < vec.size(); i++) {
// do something
}

它给出了这些警告(这本身很好,我想要高级警告)。

我想到了将其更改为以下内容:

for (auto i = vec.size()*0; i < vec.size(); i++) {
// do something
}

在这种情况下我不会收到警告。但我想知道是否有比这更优雅的东西,它会自动推断出迭代器所需的类型。

最佳答案

使用基于范围的for循环

for (auto& i : vec)
{
cout << *i;
}

使用迭代器。

for (auto it = vec.begin(), end_it = vec.end(); it != end_it; ++it)
{
cout << *it;
}

如果你想要一个计数器,使用std::vector<T>::size_type或者只是 size_t如果你懒惰。

关于c++ - 在 C++11 中是否有更优雅的方法来执行以下操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28282959/

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