Time of Update: 2018-07-30
本文進行兩種散列的實現——線性開型定址散列,鏈表散列 散列表——一種動態集合結構,它僅支援Insert,Search和Delete操作 基本規則:關鍵字key,index=fun(key),T[index]衛星資料,函數fun即散列函數。 尋找一個元素的期望時間為O(1) 直接定址表:關鍵字全域比較小,使用數組完全儲存,一一對應。Insert,Search和Delete操作都是O(1) 散列表:關鍵字全域較大,可能出現碰撞。 解決碰撞之方法:
Time of Update: 2018-07-30
當使用gcc編譯器編譯含數學函數的C程式時,會出現undefined reference to `sin'錯誤.這種錯誤一般是由於缺少庫造成的. 如上圖的一個小程式,當在linux下編譯會出現如下問題: 編譯時間如下選項即可: [html] view plain copy
Time of Update: 2018-07-30
一維 role_type= {"rule","npc","building"} int luaEx_TestGetTable (LuaState * L) { LuaStack args(L);
Time of Update: 2018-07-30
群號: 302558294 Qt、C++學習交流群歡迎你。 本群每周更換一次管理員。 選拔條件: 1、積極為群友解決Qt、C++方面遇到的問題。 2、分享學習高品質的學習資料。 3、活躍度高,提高群的學習氛圍。 想做管理員,想獲得進步,就加入我們吧。(打廣告的勿進) 學習使人進步,分享使人快樂。
Time of Update: 2018-07-30
printf()是控制台程式中最常用的函數,作用是輸入的字元、數字等資訊拼成完整的句子並且輸出到標準輸出裝置(顯示器、控制台等)。 下面是printf()定義: int printf(const char *fmt, ...) printf()實現部分: int Test_printf(const char *fmt, ...){ //定義接收輸出資訊最大長度1024位元組 char printf_buf[1024]; //記錄fmt對應的地址
Time of Update: 2018-07-30
這段時間在看c++primer,深切的體會到了c++是多麼複雜的一門語言,但是在c++中又包含著c語言所不擁有的很多特性,不說那麼多了,等我囫圇吞棗地把它看完我應該要開始更新c++的部落格了,當然這本書我是會更新完的,哈哈。 第五章的最後一個內容,用十字鏈表格儲存體係數矩陣,當然我看後面的圖當中好像也還是有十字鏈表的內容的,我非常喜歡鏈表這個資料結構,實現起來感覺遊刃有餘,大概就是唯手熟爾吧,哈哈。首先上一下十字鏈表的邏輯圖。
Time of Update: 2018-07-30
今天上午搜尋如何擷取表中滿足某條件的記錄數量並賦給一個int型變數花了好長時間,試了各種方法都沒用,而且還發現百度上大都是給出了如何擷取滿足某條件的記錄數量的SQL語句,但是並沒有誰告訴我們執行完該條語句之後怎麼用,這是個關鍵問題,經過自己摸索之後,終於找到了一種比較簡單的方法,僅供大家參考。 strCommand.Format("select count(*) as countnum from HSample where
Time of Update: 2018-07-30
這幾天在寫一個server,由於架構相同,僅僅是擷取資料來源的地方有區別,所以,研究了一下如何使用物件導向的方法來動態載入so。 主要思想就是: 1.通過一個函數能夠獲得一個基類的指標,這樣在調用基類的函數的時候,就能自動調用子類的實現了。 2.儲存so對象的指標應該是外層類的一個static變數。 詳細還是看代碼吧: 1)首先定義一個公用的標頭檔,裡面儲存的基類的定義:(需要注意的就是,只要不是純虛函數,那麼就一定要有實現;還有就是解構函式需要為虛函數)
Time of Update: 2018-07-30
對組pair: pair等同於一個擁有兩個元素的結構體 調用標頭檔: #include<algorithm> using namespace std; 詳細用法(部分): pair<string, double> p2 ------ p2中有兩個類型,第一個元素是string的,第二個元素是double型的 p2 =
Time of Update: 2018-07-30
構造方法用來初始化類的對象,與父類的其它成員不同,它不能被子類繼承(子類可以繼承父類所有的成員變數和成員方法,但不繼承父類的構造方法)。因此,在建立子類對象時,為了初始化從父類繼承來的資料成員,系統需要調用其父類的構造方法。 如果沒有顯式的建構函式,編譯器會給一個預設的建構函式,並且該預設的建構函式僅僅在沒有顯式地聲明建構函式情況下建立。 構造原則如下:
Time of Update: 2018-07-30
有的時候想寫點東西,但由於文筆不行、技術不行也就沒有怎麼寫。經常是用到什麼、學習什麼的時候,簡單寫點,權當是個學習筆記。上部落格的次數也很少,有人給我留言也是沒有怎麼及時的回複,深感抱歉。 在一些特殊的行業,比如我從事的GIS、地質行業,大部分軟體還是以C/S形式存在,軟體大多是產品來銷售。這些程式大部分是Cpp語言來編寫,一方面是考慮到效率問題,另一方面可能是因為曆史原因,建立者使用Cpp,後面接班人也就繼續使用。 但是使用Cpp去做項目的時候,又會倍感cpp的笨拙,做個介面非常費勁。
Time of Update: 2018-07-30
關於二叉樹定義可參考:https://blog.csdn.net/caoshangpa/article/details/80096466 題目:請完成一個函數,輸入一個二叉樹,該函數輸出它的鏡像。 二叉樹結點的定義如下: struct BinaryTreeNode { int data; BinaryTreeNode *Left; BinaryTreeNode *Right; }; 通過畫圖,可知二叉樹的鏡像如下圖所示:
Time of Update: 2018-07-30
關鍵字就是已被C語言本身使用,不能作其它用途使用的字。例如關鍵字不能用作變數名、函數名等 由ANSI標準定義的C語言關鍵字共32個: auto double int struct break else long switch case enum register typedef char extern return union
Time of Update: 2018-07-30
在用appserv加伺服器以後,我就發現,當我把php.ini-recommended檔案改成php.ini檔案以後,關於include_path的設定,無論我怎麼設定伺服器都不能定位到該目錄,按照其它的一體化的伺服器軟體如xampp,就沒問題,,而這個軟體我已經安裝了好幾次了,都是這樣的錯誤,我想這不是軟體出現的一個bug。 在無望的時候,我又一次查看了phpinfo.php資訊,發現在Configuration File (php.ini) 在的資訊居然目錄是
Time of Update: 2018-07-30
64位無符號整型列印方式: #include<stdio.h> unsigned long long ll=0x9102928374747474; void main() { printf("**************\n");
Time of Update: 2018-07-30
class A {public:int a1;int a;A(){a=1000;}A(int r){a1=33333;}virtual int getdata(){return 100;}virtual int getD(){return 200;}};class B {public:int b;B(){b=30000;}virtual int GetValue(){return 880;}};class C:public A,public B{public :int x,y;C(){x=11
Time of Update: 2018-07-30
本文執行個體分析了C語言中char* 和 char []的區別。分享給大家供大家參考之用。具體分析如下: 一般來說,很多人會覺得這兩個定義效果一樣,其實差別很大。以下是個人的一些看法,有不正確的地方望指正。 本質上來說,char *s定義了一個char型的指標,它只知道所指向的記憶體單元,並不知道這個記憶體單元有多大,所以: 當char *s =
Time of Update: 2018-07-30
最近做到的項目都會用到C++封裝DLL給C#調用,比如說將識別對象的形狀跟顏色,通過Opencv處理返回結果給C#,這裡要將Opencv影像處理部分封裝成DLL;還有根據廠家提供的網路攝影機SDK的內容(C++),抽取裡面需要的封裝成DLL給C#調用。封裝的DLL調試是比較蛋疼的,在這就裡個人覺得有幾點經驗是比較實用的,總結如下: 1.首先記得修改項目屬性:如下: 2.因為不確定問題出在哪一個函數,所以只能根據猜測在相應的位置進行文本日誌寫入或是進行彈對話方塊的方式。參考代碼如下:
Time of Update: 2018-07-30
優先隊列(Priority Queues):顧名思義,一個有著優先順序的隊列。它是一種ADT,和隊列的思想差不多—— 排隊,資料結構中的隊列是不能插隊的,不能顛倒排隊的順序,而在優先隊列裡,先出隊列的元素不是先進隊列的元素,而是優先順序高的元素,預設的優先順序是數字大的數優先順序高。當然使用者是可自訂類型的,這樣就必須為元素定義一個優先順序。因為出隊元素不是最先進隊的元素,則出隊的方法有queue的front() 變為top()。 -定義 namespace std{
Time of Update: 2018-07-30
C++交流群: 302558294(歡迎你的加入) 原文地址:http://blog.csdn.net/jiadebin890724/article/details/7951461#comments ,感謝原作者總結分享 首先要明確: 1、每個解構函式(不加 virtual) 只負責清除自己的成員。 2、可能有基類指標,指向的確是衍生類別成員的情況。(這是很正常的),