原创 iter_swap函數:交換2個迭代器的值

    std::swap()函數有一個缺點:無法交換2個迭代器的值,一開始想要交換一個vector中的兩個元素,我是這麼寫的: struck MyData { ………… } std::vector<MyData> vecTemp

原创 關於const_cast的一些說明

const_cast轉換符是用來移除變量的const或volatile限定符。 1、用const_cast來去除const限定    對於const變量,我們不能修改它的值,這是這個限定符最直接的表現。但是我們就是想違背它的限定希

原创 二、OSG在MFC中的使用——對話框或單文檔窗口嵌套OSG

1、MFC顯示效果 對話框顯示 單文檔顯示 2、具體實現過程 2.1 對話框實現    1)利用MFC創建對話框,利用上一篇的方法將OSG通過Visual Studio 中的nuget插件集成到工程中,然後在你的osg sam

原创 一、OSGEarth的安裝——利用Vcpkg編譯

   說到OSGEarth的安裝就不得不回憶15年左右安裝OSG的過程,QT+CMake+源碼編譯,各種編譯不過和崩潰,看着CMake界面上各種紅色的錯誤,很是沮喪,最後好像是花了一天多才編譯好,運行起例子那個牛的時候激動的不行,

原创 osgEarth——搭建MFC桌面端程序框架

本文主要介紹基於MFC創建osgEarth桌面端程序。 1、新建MFC應用程序DigitalEarth,選擇單個文檔。 2、實現osgEarth相關功能。 2.1、創建OSGObject.h文件,輸入如下代碼: OSGObjec

原创 char*指針、ch數組、int*指針以及int數組的對比

以下代碼分別輸出了不同情況下的值: int main() { char a[] = "hello"; char* b = a; char* c = b; cout << "char指針輸出: " << b << " "

原创 C++的開源JSON開發包 RapidJSON簡單使用

1、簡介 RapidJSON 是一個 C++ 的 JSON 解析器及生成器。它的靈感來自 RapidXml。 RapidJSON 小而全。它同時支持 SAX 和 DOM 風格的 API。SAX 解析器只有約 500 行代碼。 Ra

原创 winAPI讀寫ini文件

winAPI讀入寫入ini文件 void GetBlockConfigParam(unsigned int& nTime,unsigned int& nNum) { const CString sIniFileName = _T

原创 進程創建CreateProcess()函數簡單應用

int _tmain(int argc, _TCHAR* argv[]) { if(argc<2) { printf("you must input args!"); return 0; } if(strcmp(

原创 c++基礎注意事項

1、頭文件中不應該使用using聲明,因爲頭文件的內容會拷貝到所有引用他的文件中去,可能在不經意間造成衝突; 2、VC 程序員的陣痛–將多字節環境移植到Unicode環境 :多字節與unicode 環境的移植是什麼樣的感受?我的一

原创 基於瀏覽器的3D網頁遊戲JavaScript 3D遊戲引擎介紹

  創建基於瀏覽器的3D遊戲一般用JavaScript+HTML5+WebGL技術,所有JavaScript 3D遊戲引擎是一個話題。基於瀏覽器的遊戲最棒的地方是不依賴於系統,它們能在iOS、Android、Windows或其他任

原创 字節(byte)、位(bit)、KB、B、字符之間關係以及編碼佔用位數

位(bit)/bit/:是計算機 內部數據 儲存的最小單位,11001100是一個八位二進制數。 字節(byte)/bait/:是計算機中 數據處理 的基本單位,習慣上用大寫 B 來表示,1B(byte,字節)= 8bit(位)

原创 C/C++文件讀寫操作總結:FILE*、fstream、windowsAPI

在ANSI C中,對文件的操作分爲兩種方式,即流式文件操作和I/O文件操作,下面就分別介紹之。 一、流式文件操作 這種方式的文件操作有一個重要的結構FILE,FILE在頭文件stdio.h中定義如下: typedef struct

原创 常見地心座標與經緯度轉換:粗略自動座標系生成

1、常見的地心座標格式 平面高斯座標:Y=35607216,X=3024388; 一般Y對應經度L(8位數字,前兩位帶號可以省略),X對應緯度B(7位數字). 常見說法:空間直角座標系XYZ對應地心座標系BLH,可以看出相互的對應