C++项目开发中的一些问题及解决记录

1、std::vector类使用:https://blog.csdn.net/weixin_41743247/article/details/90635931

2、vector求和:

#include <numeric>

accumulate(a.begin(),a.end(),0);

3、vector排序:

#include <algorithm>

sort(a.begin(),a.end());

4、二维vector:

std::vector<std::vector<int>> = a(2,std::vector<int>(2));   #2*2的二维vector

5、cmake 交叉编译:

https://www.cnblogs.com/pied/p/8805883.html

6、cmake 语法介绍:

https://blog.csdn.net/afei__/article/details/81201039

7、opencv 通道分离与合并:

https://blog.csdn.net/guduruyu/article/details/70837779

8、opencv mat选取部分区域:

https://blog.csdn.net/qq_27278957/article/details/84586370

9、opencv 附加掩膜的mat复制:

cv::Mat B;

A.cv::copyTo(B,MASK);    #将A按掩膜拷贝到B

10、opencv mat 操作:

https://blog.csdn.net/qq_29796317/article/details/73743296

11、C++ 传递参数到main函数:

int main(int argc,char *argv[]){...}

argc = argument count :表示传入main函数的数组元素个数,为int类型

argv = argument vector :表示传入main函数的指针数组,为char**类型

第一个数组元素argv[0]是程序名称,并且包含程序所在的完整路径。argc至少为1,即argv数组至少包含程序名。

 

12、 C++项目查找内存泄漏:

使用CRT:  必须在DEBUG模式下

#define _CRTDBG_MAP_ALLOC

#include <crtdbg.h>

#ifdef _DEBUG
#ifndef DBG_NEW
#define DBG_NEW new ( _NORMAL_BLOCK , __FILE__ , __LINE__ )
#define new DBG_NEW
#endif
#endif  


int main()
{
    _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
    double* r = (double*)malloc(100 * sizeof(double));
    return 0;
}

 

13、VS c++查指针越界:

项目-->属性-->C/C++-->启用地址擦除系统 (Address Sanitizer)-->是

仅在release x86下成功

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值