向量大小 - 在 C++ 中大小为 0 时为 1

vector size - 1 when size is 0 in C++(向量大小 - 在 C++ 中大小为 0 时为 1)

本文介绍了向量大小 - 在 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?第二次 cout 会发生什么?

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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:向量大小 - 在 C++ 中大小为 0 时为 1

基础教程推荐