如图中定义数组时用到了size函数 然后我转到定义时发现size函数的返回类型是size_type 按书上说这应该是个无符号类型的值,那么它为何可以用来定义数组,不是应该是常量么?
size肯定不能是常量,size是指当前vector中数据的个数,如果是常量那增加新数据的时候这个值肯定不能统计了,无符号的目的是,数组的数量,最小为0,不存在一个东西数量为负数的情况而已
原则上是,只能是常量表达式。
不过很多编译器完全兼容C语言标准C90/99,而C90/99允许这种写法,因此很多编译器也跟着允许在C++里这么写,比如g++.
不过并不是所有编译器都允许这么做,就我所知,VS的VC工程就默认不可以这么写。所以作为一个好的编程习惯,平时写C++程序推荐不用这种不规范用法。