[HKEY_CLASSES_ROOT\.egs] 在[HKEY_CLASSES_ROOT\EGSMain\Shell\Open\Command]建立一個索引值如下 string strExtension = ".egs"; string strProject = "EGSMain";
#include <iostream>#include <vector>#include <algorithm>using namespace std;int main(){vector<int> v;v.push_back(1);v.push_back(2);v.push_back(3);if( find(v.begin(), v.end(), 1) == v.end()){cout << "no1"
第14章 重載操作符與轉換 1 重載操作符必須具有至少一個類類型或枚舉類型的運算元。這條規則強制重載操作符不能重新定義用於內建類型對象的操作符的含義 2 操作符重載成成員函數還是普通非成員函數的一些指導原則: a) &
一、二叉樹 1、用遞迴方法實現二叉樹的先序、中序、後序遍曆 class TreeToSequence { public : void preOrder(TreeNode* root,vector<
底層的開發一般都是用C語言,這就涉及到記憶體的管理,指標的申請和釋放。<?xml:namespace prefix = o /> 最近使用了一個雙緩衝隊列,結果在釋放的時候,出現異常。記憶體的分配使用的是malloc,對應的釋放使用free,感覺沒有問題。 在網上尋找可能原因時有兩個原因我覺得最為接近: <!--[if !supportLists]-->1. <!-
快速排序是分而治之法的一種排序方法,快速排序將n個元素分為三段。left段,right段和middle段,中間僅有一個元素。我叫做關索引值。左邊的元素都不大於中間段,右邊的元素都不小於中間段。因此可以對left與right段進行單獨的排序。 完整代碼實現如下: #include<iostream> using namespace std;void quickSort(int array[],int X,int Y) //X,Y分別是數組的起始下標{
宏定義是C提供的三種預先處理功能的其中一種,這三種預先處理包括:宏定義、檔案包含、條件編譯 宏定義又稱為宏代換、宏替換,簡稱“宏”。 格式:#define 標識符 字串 其中的標識符就是所謂的符號常量,也稱為“宏名”。 預先處理(先行編譯)工作也叫做宏展開:將宏名替換為字串。 掌握"宏"概念的關鍵是“換”。一切以換為前提、做任何事情之前先要換,準確理解之前就要“換”。 即在對相關命令或語句的含義和功能作具體分析之前就要換: 例:#define PI 3.1415926
C++的類成員如果有Virtual修飾符,則在執行個體化後的對象中會形成一個叫做VTBL(虛擬表)的東西,另外藉助C++內在的滯後綁定功能實現所謂的多態性。下面,我藉助C代碼來大概示範下VTBL的實現原理,僅供參考。 //類比VTBL,實際為一套函數集合 Struct SampleVtbl { void func() {} } //類比帶Virtual成員的類 Struct SampleClass { SampleVtbl *pVtbl; }
隨著C++11標準的出現,C++標準添加了許多有用的特性,C++代碼的寫法也有比較多的變化。vector是經常要使用到的std組件,對於vector的遍曆,本文羅列了若干種寫法。 假設有這樣的一個vector: vector<int> valList = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; 需要輸出這個vector中的每個元素,原型如下: void ShowVec(const vector<int>& valList){
使用iterator 遍曆時,刪除其中一個出了問題,結果是刪除了一個以後 不能再用自增了 c++ vector遍曆刪除元素 一直對vector的刪除操作不太熟悉,現整理下。其中前三部分先補充一些相關知識,然後第四部分給出範例程式碼。 一、關於Vector的earse方法 iterator erase ( iterator position );iterator erase ( iterator first,
1、取字串的前i個字元 (1)string str1=str.Substring(0,i); (2)string str1=str.Remove(i,str.Length-i); 2、去掉字串的前i個字元 string str1=str.Remove(0,i); string str1=str.SubString(i); 3、從右邊開始取i個字元: string str1=str.SubString(str.Length-i);
經過幾個月的漫長等待,《C語言從入門到精通》終於在電子工業出版社出版,心裡的石頭終於落了地。 這本書內容全面,講解細緻,自己也在這本書上付出了很大的心血,希望能得到更多讀者的歡迎,也希望大家能多提意見。 在這裡也非常感謝編輯,感謝希望圖書工作室,感謝電子工業,沒有他們的辛苦勞動,就沒有今天的成績,謝謝。 http://www.huachu.com.cn/itbook/itbookinfo.asp?lbbh=10114096
背景:鄙人c++菜鳥一枚,工作不足兩年,以前做工業自動化業務背景下的c++前後端開發工作。想想自己的同學朋友,有車的有車,有戶口的有戶口,有房的有房,而我還在渾渾噩噩,不免悲從中來。於是,我也想在這個跳槽季做一次轉型,向互連網公司靠攏。 計劃與行動:
在用 cocos2d-x的過程中,想計算時間差,比如touchbegin與touchend的點擊時間差的時候,需要獲得當前的時間,這個時候一般用的是time(NULL)來獲得,返回的單位是time_t 在ios平台上看了下,也就是long,也就是從1970年1月1日開始的秒數。但是這個時間不是很精確,只能精確到秒。 如果要經常到毫秒,或者微秒,有沒有類似 GetTickCount(windows平台)的函數呢。 &
定義 在電腦科學中,二分法尋找(binary search)也叫折半尋找(half-interval search),又叫對數搜尋(logarithmic search)。這是一種在有序數組中尋找某一特定元素的搜尋演算法。 原理 搜尋過程從數組的中間元素開始。如果中間元素正好是要尋找的元素,則搜尋過程終止;如果某一特定的元素大於或者小於小於中間元素,那就在大於或者小於中間元素的那一半尋找,而且跟開始一樣也從中間元素開始比較。如果某一步驟數組為空白,則代表找不到。 特點
第一步安裝:CefSharp 在這裡面搜尋CefSharp,然後點擊安裝 搜尋到相應的組件後,點擊安裝。 安裝大概要幾分鐘,按照完成後,項目中會出現一個packages.config檔案。 我同事按照完成後,引用中會出現相應的dll包,而我按照完成後,並沒有添加到引用中,我是手動添加到引用中的。 這些dll包的位置在於,當組件安裝完成後,在項目裡面會多出一個packages檔案夾。 我這裡引用的都是X86檔案下的,例如:
1. 編譯 把編譯檔案中的 strip去掉,(如果Makefile中含有),增加-g選項 2. 環境變數的設定 Cgi輸入的變數參數,一般通過環境變數來設定。這點是調試cgi跟調試普通C++程式的主要區別。cgi的輸入參數,在cgi中,是通過讀取環境變數來實現的。 (1)可以在shell中用export設定
當自己開發了一個so檔案,如何調試呢。 對於如何編寫一個so,請參考文章:http://blog.csdn.net/zz7zz7zz/article/details/41448987 對於如何進行gdb調試,請參考文章:http://blog.csdn.net/zz7zz7zz/article/details/41654457 我們的源檔案分別如下: filea.c #include <stdio.h>void fun1(){printf("
安裝方法 自動安裝 yum install gcc (這是) yum install gcc-c++ (這是C++編譯器) yum install cmake 但是這樣並不能安裝指定版本 僅能安裝系統硬碟中的版本,下面以centos 6X64 安裝gcc 4.8.4為例 自訂安裝 1. 安裝gcc4.8.4 for 小白(其實我就是一枚) 下面的cd XX 表示進入某個目錄 預設情況下在root目錄下 cd .. or ’‘
#include <iostream>#include <string.h>using namespace std;int main(){ char a = -1; unsigned char b = 255; printf("a = 0x%x b = 0x%x \n", a, b); system("pause");