控卫1号
2016-08-25 01:37
采纳率: 0%
浏览 3.2k

关于c++中vector<int> 中size函数返回值的问题

如图中定义数组时用到了size函数 然后我转到定义时发现size函数的返回类型是size_type 按书上说这应该是个无符号类型的值,那么它为何可以用来定义数组,不是应该是常量么?图片图片

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • lx624909677 2016-08-25 02:25

    size肯定不能是常量,size是指当前vector中数据的个数,如果是常量那增加新数据的时候这个值肯定不能统计了,无符号的目的是,数组的数量,最小为0,不存在一个东西数量为负数的情况而已

    打赏 评论
  • Valtava 2016-08-25 05:53

    原则上是,只能是常量表达式。

    不过很多编译器完全兼容C语言标准C90/99,而C90/99允许这种写法,因此很多编译器也跟着允许在C++里这么写,比如g++.

    不过并不是所有编译器都允许这么做,就我所知,VS的VC工程就默认不可以这么写。所以作为一个好的编程习惯,平时写C++程序推荐不用这种不规范用法。

    打赏 评论

相关推荐 更多相似问题