原创 c++ list, vector, map, set 區別與用法比較

List封裝了鏈表,Vector封裝了數組, list和vector得最主要的區別在於vector使用連續內存存儲的,他支持[]運算符,而list是以鏈表形式實現的,不支持[]。 Vector對於隨機訪問的速度很快,但是對於插入尤其是在頭

原创 C++ auto_ptr智能指針

STL 還提供了另一個模板類:auto_ptr 類。該類主要用於管理動態內存分配。 如果使用 new() 函數分配堆中的內存,而又不記得回收這部分內存,會導致內存泄漏。因此必須使用 delete 語句釋放該內存塊。即使在函數末端添加了 d

原创 vs2013下配置opengl及簡單例程

1:配置 1.下載glut壓縮包,下面給出鏈接地址:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip; 2.下載完畢後,我們解壓縮 ,可以看到有5個文件,2

原创 淺談C/C++引用和指針的聯繫和區別

爲什麼C/C++語言使用指針? 答案:①一方面,每一種編程語言都使用指針。不止C/C++使用指針。 每一種編程語言都使用指針。C++將指針暴露給了用戶(程序員),而Java和C#等語言則將指針隱藏起來了。 “Everything use

原创 數據結構和內存中堆和棧的區別

特別聲明:本文參考了博客:http://blog.csdn.net/wolenski/article/details/7951961#comments          堆和棧在 我的眼裏一直是很模糊的概念,只是簡單的理解爲:堆棧是一種數

原创 淺議C++ 中的垃圾回收方法

許多 C 或者 C++ 程序員對垃圾回收嗤之以鼻,認爲垃圾回收肯定比自己來管理動態內存要低效,而且在回收的時候一定會讓程序停頓在那裏,而如果自己控制內存管理的話,分配和釋放時間都是穩定的,不會導致程序停頓。最後,很多 C/C++ 程序員堅

原创 C++內存管理

[導語] 內存管理是C++最令人切齒痛恨的問題,也是C++最有爭議的問題,C++高手從中獲得了更好的性能,更大的自由,C++菜鳥的收穫則是一遍一遍的檢查代碼和對C++的痛恨,但內存管理在C++中無處不在,內存泄漏幾乎在每個C++程序中都會

原创 C++軟件開發經典面試題目

1、   Static有什麼用途?   (1)函數體內static變量的作用範圍是該函數體,該變量的內存只被分配一次,因此它的值在下次調用時不變; (2)模塊內的static全局變量同樣只能在該模塊內的函數訪問和調用,不能被模塊外的其他函

原创 Modbus協議分析——TCP/RTU

兩種傳輸方式 控制器能設置爲兩種傳輸模式(ASCII或RTU)中的任何一種在標準的Modbus網絡通信。用戶選擇想要的模式,包括串口通信參數(波特率、校驗方式等),在配置每個控制器的時候,在一個Modbus網絡上的所有設備都必須選擇相同的

原创 QT5使用OpenGL的錯誤

(1)gluPerspective沒有定義 例如: gluPerspective( 45.0, (GLfloat)width/(GLfloat)height, 0.1,100.0 );   轉換爲: GLfloat zNear = 0.1

原创 qt中常見錯誤:QApplication: No such file or directory

調用了”QApplication”這個頭文件,在幫助文檔中我們可以看到需要在.pro文件中添加,QT += widgets才能使用它,所以只要在qmake生成的.pro文件中補充這部分能容,再重新qmake *.pro,再make就不會報

原创 Halcon 與 OpenCV 圖像數據類型轉換

  但由OpenCV 轉 Halcon 時間消耗很少; 代碼如下所示:    #include <HalconCpp.h>   #include <opencv2/opencv.hpp> #include <iostream> #incl

原创 QMap簡單用法

QMap提供了一個從類項爲key的鍵到類項爲T的直的映射,通常所存儲的數據類型是一個鍵對應一個直,並且按照Key的次序存儲數據,這個類也支持一鍵多值的情況,用類QMultiMap QHash具有和QMap幾乎完全一樣的APi,此類維護這一

原创 qt工程編譯不通過,提示找不到*.pro文件

原因:Qt不支持中文的路徑,把源碼的路徑全部改成英文即可解決問題。 QT Creator對大於帶有兩個空格的目錄和中文命名的目錄不支持!! 究其原因 應該是qmake對帶有空格的目錄和中文命名的目錄不支持!! 有人也說路徑中全角符字符也不