C++ 如何查看向量中的所有元素是否相同?

C++ 如何查看向量中的所有元素是否相同?,c++,C++,我有一个向量的向量 如何检查其中一列中的所有元素是否相同 我试着用这个嵌套的for循环检查它,但是我得到了一个超出范围的错误 方法,但它不会为我编译,我假设它是,因为它是向量的向量的k的初始值不完整:使用 for(auto k=v.size(); k--;) 向后循环 在(i-1)处使用也一定是错误的,因为i从0开始 除非对向量进行排序,否则仅检查两个元素无法判断它们是否都相等 最后,即使不能使用范围(因为索引使用,如i-1和..+j),也要将引用绑定到正在处理的元素,至少在外部级别。可读性显

我有一个
向量
向量

如何检查其中一列中的所有元素是否相同

我试着用这个嵌套的for循环检查它,但是我得到了一个超出范围的错误


方法,但它不会为我编译,我假设它是,因为它是
向量的
向量

k
的初始值不完整:使用

for(auto k=v.size(); k--;)
向后循环

在(i-1)
处使用
也一定是错误的,因为
i
从0开始

除非对向量进行排序,否则仅检查两个元素无法判断它们是否都相等


最后,即使不能使用范围(因为索引使用,如
i-1
..+j
),也要将引用绑定到正在处理的元素,至少在外部级别。可读性显著提高。

@DavisHerringthat@codekaizer抱歉修复了它,您确定(inti=0;i<10;i++)的
大小是10,对吗?因为这可能是您面临超出范围错误的地方。
i
在(i-1)
时,板上的昆虫zero@HarisNadeem是的,向量的向量初始化为大小10从未使用过自动,但我尝试过,它说k没有命名类型?不管怎样,有没有一个向量的内置函数,比较所有元素,并检查它们是否相同?@ BuyYbBuh,C++编译器,处理AutoC AS吗?这应该是一件相当有趣的事情old@billybob:它是一个C++11功能;您的编译器可能需要一个选项来启用该语言版本。@billybob:请随意询问有关
equal
方法的新问题(附完整示例)。
if (equal(myVector.begin() + 1, myVector.end(), myVector.begin()) )
for(auto k=v.size(); k--;)