本文介绍了向量大小-C ++中大小为0时为1的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
以下代码
#include <vector>
#include <iostream>
using namespace std;
int main() {
vector<int> value;
cout << value.size() << endl; // output 0
cout << value.size() - 1 << endl; // output 18446744073709551615
}
为什么第二个输出不是-1?在第二洞发生了什么?
Why the second output is not -1? What happens at the second cout?
推荐答案
vector :: size()
类型为 size_t
是无符号类型,无符号整数不能表示负数。
vector::size()
is of type size_t
which is an unsigned type, and unsigned integers can't represent negative numbers.
这篇关于向量大小-C ++中大小为0时为1的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!