76 从OpenCV学习C++ 高级语言特性
生活随笔
收集整理的這篇文章主要介紹了
76 从OpenCV学习C++ 高级语言特性
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
0 引言
C++語言特性記錄,提高對這門語言的理解,進而帶動對編程語言特性的理解。
1 C++中的const 引用參數
在C++中,很多時候不希望函數調用時使用值傳遞(這樣做需要得到實參的一個拷貝,降低了效率),而使用引用參數(引用本質上就是指針)。由于對引用參數值的改變就是對實參值的改變,有時候不希望改變實參的值,為了防止出錯,而使用const 引用參數。這樣既有引用參數的效率,而又不會改變實參的值。舉個opencv中的例子。
CV_EXPORTS void drawMatches( const Mat& img1, const vector<KeyPoint>& keypoints1,const Mat& img2, const vector<KeyPoint>& keypoints2,const vector<DMatch>& matches1to2, Mat& outImg,const Scalar& matchColor=Scalar::all(-1), const Scalar& singlePointColor=Scalar::all(-1),const vector<char>& matchesMask=vector<char>(), int flags=DrawMatchesFlags::DEFAULT );該函數將傳入的函數參數用const + 引用的形式傳入,將輸出參數用引用的形式輸出,提高了數據傳輸效率的同時,保證了實參的安全。
?2 ofstream
ios::app:? append,只能在文件末尾插入,對數據的保護性更好。
ios::ate, at end,打開文件的時候程序把光標指向末尾,但是可以任意移動(seek等操作),靈活性更高。
?
轉載于:https://www.cnblogs.com/ghjnwk/p/11268509.html
總結
以上是生活随笔為你收集整理的76 从OpenCV学习C++ 高级语言特性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: H5 canvas 绘图
- 下一篇: ios 中ARC与非ARC的转换