c++ tricks in engineering

  1. 数组传参

    工程化被坑了好多回!

    C/C++ 传递数组,虽然传递的是首地址地址,但是参数到了函数内就成了普通指针

    所以试图在调用函数中求取所传递数组的长度是行不通的。

  2. vector传参

    传值—>拷贝构造,传引用/指针—>不发生拷贝构造。

    实际工程化中遇到的问题是,构建了一个vector\ imgs对象,传入函数以后,在函数内部创建空间cv::Mat img,然后将img push进vector。在函数外读取该vector的时候发现其内部没值。

    要点:1. 要传引用,2. push clone:imgs.push_back(img)

    另外,vector可以作为函数返回值。