关于vector的一个问题
  • 板块学术版
  • 楼主xuanxuan001
  • 当前回复9
  • 已保存回复9
  • 发布时间2020/8/11 14:12
  • 上次更新2023/11/6 20:39:12
查看原帖
关于vector的一个问题
184168
xuanxuan001楼主2020/8/11 14:12

RTSS,运行下面这段代码:

#include<cstdio>
#include<vector>
using namespace std;
vector<int> v;
int main(){
	v.push_back(1);
	int a=(v.size()-2)%233;
	int b=(1-2)%233;
	int c=((int)v.size()-2)%233;
	int d=v.size()-2;
	printf("%d %d %d %d",a,b,c,d);
	return 0;
}

它应该输出四个-1,但其实却输出了63 -1 -1 -1,我觉得是因为vector的size函数的类型问题:

如上图,size返回的数据类型是它自定义的,所以减成负数后取余会变成其他的数,但是为什么这个类型支持负数却不能给负数进行模运算?模了之后的那个数是怎么得来的?求大佬解答。

2020/8/11 14:12
加载中...