网站建设必须要服务器么,深圳市宝安区邮编,phpwin和wordpress,自己做的相册网站写代码易错点整理 变量重复声明引用的swap使用push_back更好用背包 变量重复声明
会导致越界错误#xff0c;结果错误等。调试时会发现某个值突然很大#xff0c;有可能是重复声明导致的。
引用的swap使用
比如一个函数中
bool func(vectorvectorint结果错误等。调试时会发现某个值突然很大有可能是重复声明导致的。
引用的swap使用
比如一个函数中
bool func(vectorvectorintpresum1,vectorvectorintpresum2{swap(presum1,presum2);
}这样的使用会导致presum1和presum2中下一次调用时的真正指向的数组已经swap如果换成指针就可以避免下次调用时还是原来的。 为了在使用引用时也可以swap,可以加一个bool变量进入这个函数时看一下是否被swap过。
bool flag false;bool func(vectorvectorintpresum1,vectorvectorintpresum2,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。
背包
优化空间时的第二层容量的循环必须从大到小遍历而不是从小到大遍历