写代码易错点整理

2024-01-01 15:37:31

变量重复声明

会导致越界错误,结果错误等。调试时会发现某个值突然很大,有可能是重复声明导致的。

引用的swap使用

比如一个函数中

bool func(vector<vector<int>>&presum1,vector<vector<int>>&presum2){
	swap(presum1,presum2);
}

这样的使用会导致presum1和presum2中下一次调用时的真正指向的数组已经swap,如果换成指针就可以避免下次调用时还是原来的。
为了在使用引用时也可以swap,可以加一个bool变量,进入这个函数时看一下是否被swap过。

bool flag = false;
    bool func(vector<vector<int>>&presum1,vector<vector<int>>&presum2,int a,int b,int c,int d,int n){
        if(flag){
            swap(presum1,presum2);
            flag = false;
        }
		//万一要执行swap操作就将flag置为true	
	}

push_back更好用

vector中不支持二维向量使用emplace_back({2,4});这样的操作,而push_back是可以的,所以我们就只用push_back。

文章来源:https://blog.csdn.net/qq_41799012/article/details/135325008
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。