Time of Update: 2017-01-19
不知你在寫code時是否遇到這樣的問題?int i = 3; int x = (++i) + (++i) + (++i); 問x值為多少?進行各種理論分析,並在編譯器上實踐,然而可能發現最終的結果是不正確的,也是不穩定的,不同的編譯器可能會產生不同的結果。這讓人很頭疼。結果到底是啥呢?對於此題的答案,一句話,Theresult is undefined!
Time of Update: 2017-01-19
散列表(也叫雜湊表)是一種尋找演算法,與鏈表、樹等演算法不同的是,散列表演算法在尋找時不需要進行一系列和關鍵字(關鍵字是資料元素中某個資料項目的值,用以標識一個資料元素)的比較操作。
Time of Update: 2017-01-19
C語言中,指標是一個複雜但又靈活多變的知識點,我們知道,在一維數組中,對於一個數組a[],*a,a,&a,都表示a的首地址,但如果與二維數組混合使用,就顯得更為複雜了。例如對於一個二維數組 a[2][4]={{1,2.3},{4,5,6}}
Time of Update: 2017-01-19
今天在編寫99乘法線上小遊戲(看過我的 linux下c實現的Database Backup(第四版)應該知道我在那裡提過^.^)的時候遇到讀取檔案的資訊遇到斷行符號分行符號的煩惱。比如我檔案裡面有如下資訊:name=qizexisex=man我希望讀取到name=qizexi這些有效字元而已,不希望\r\n也加入其中,因為那樣會影響我的判斷。解決的方式是在遇到\r擷取\n的時候,替換為\0.#include<string.h>#include<stdio.h> int
Time of Update: 2017-01-19
1. 用virtual關鍵字申明的函數叫做虛函數,虛函數肯定是類的成員函數。2. 存在虛函數的類都有一個一維的虛函數表叫做虛表。類的對象有一個指向虛表開始的虛指標。虛表是和類對應的,虛表指標是和對象對應的。3. 多態性是一個介面多種實現,是物件導向的核心。分為類的多態性和函數的多態性。4. 多態用虛函數來實現,結合動態綁定。5. 純虛函數是虛函數再加上= 0。6. 抽象類別是指包括至少一個純虛函數的類。純虛函數:virtual void
Time of Update: 2017-01-19
C++程式設計語言中有很多比較重要的關鍵字在實際編程中起著非常重要的作用。我們今天為大家介紹的C++ explicit關鍵字就是其中一個應用比較頻繁的關鍵字。下面就讓我們一起來看看這方面的知識吧。C++ explicit關鍵字用來修飾類的建構函式,表明該建構函式是顯式的,既然有"顯式"那麼必然就有"隱式",那麼什麼是顯示而什麼又是隱式的呢?如果c++類的建構函式有一個參數,那麼在編譯的時候就會有一個預設的轉換操作:將該建構函式對應資料類型的資料轉換為該類對象,如下面所示:複製代碼
Time of Update: 2017-01-19
友元函數是可以直接存取類的私人成員的非成員函數。它是定義在類外的普通函數,它不屬於任何類,但需要在類的定義中加以聲明,聲明時只需在友元的名稱前加上關鍵字friend。我們已知道類具有封裝和資訊隱藏的特性。只有類的成員函數才能訪問類的私人成員,程式中的其他函數是無法訪問私人成員的。非成員函數可以訪問類中的公有成員,但是如果將資料成員都定義為公有的,這又破壞了隱藏的特性。另外,應該看到在某些情況下,特別是在對某些成員函數多次調用時,由於參數傳遞,類型檢查和安全性檢查等都需要時間開銷,而影響程式的運行
Time of Update: 2017-01-19
記住:通常待用資料成員在類聲明中聲明,在包含類方法的檔案中初始化.初始化時使用範圍操作符來指出靜態成員所屬的類.但如果靜態成員是整型或是枚舉型const,則可以在類聲明中初始化!!!複製代碼 代碼如下:#include <iostream>using namespace std;class test{public:static int num;};int test::num = 0;void main(){cout<<test::num
Time of Update: 2017-01-19
在C++中則把字串封裝成了一種資料類型string,可以直接聲明變數並進行賦值等字串操作。以下是C字串和C++中string的區別: C字串 string對象(C++)所需的標頭檔名稱 <string>或<string.h> <string>或<string.h>需要標頭檔 原因 為了使用字串函數 為了使用string類聲明 方式 char
Time of Update: 2017-01-19
1.string類成員函數c_str()的原型:const char
Time of Update: 2017-01-19
從C/C++到Java,再從Java回到C/C++,今天終於有機會瞭解了串連Java、C/C++的橋樑——JNI。哈哈!分享一下!一、簡介JNI是Java native interface的簡寫,可以譯作Java原生介面。Java可以通過JNI調用C/C++的庫,這對於那些對效能要求比較高的Java程式或者Java無法處理的任務無疑是一個很好的方式。二、目的:Java代碼中調用C/C++代碼三、實現:假設我們的Java程式為J2C.java, C程式為J2C.c,
Time of Update: 2017-01-19
一,static和extern:大工程下我們會碰到很多來源文件。文檔a.c複製代碼 代碼如下:static int i; //只在a文檔中用int j; //在工程裡用static void init() //只在a文檔中用{}void callme() //
Time of Update: 2017-01-19
優先隊列(priority_queue)和一般隊列(queue)的函數介面一致,不同的是,優先隊列每次出列的是整個隊列中最小(或者最大)的元素。本文簡要介紹一種基於數組二元堆積實現的優先隊列,定義的資料結構和實現的函數介面說明如下:一、索引值對結構體:KeyValue複製代碼 代碼如下:// =============KeyValue Struct==================================typedef struct key_value_struct KeyValue;
Time of Update: 2017-01-19
PrecedenceOperatorDescriptionExampleAssociativity1()[]->.::++--Grouping operatorArray accessMember access from a pointerMember access from an objectScoping operatorPost-incrementPost-decrement(a + b) / 4;array[4] = 2;ptr->age = 34;obj.age = 34;
Time of Update: 2017-01-19
在gcc中,可以使用attribute關鍵字,聲明constructor和destructor,代碼如下:複製代碼 代碼如下:#include <stdio.h>__attribute((constructor)) void before_main(){ printf("%s/n",__FUNCTION__);}__attribute((destructor)) void
Time of Update: 2017-01-19
定義一個空的C++類,例如class Empty{}一個空的class在C++編譯器處理過後就不再為空白,編譯器會自動地為我們聲明一些member function,一般編譯過去就相當於複製代碼 代碼如下:class Empty{public:Empty(); // 預設建構函式Empty( const Empty& ); // 拷貝建構函式~Empty(); // 解構函式Empty& operator=( const Empty& ); // 賦值運算子Empty* operator&();
Time of Update: 2017-01-19
在使用STL容器(比如map、list、vector等)的時候,是用放一個對象還是放一個對象指標,即是用vector<int>還是vector<int*>,這裡的vector可以換成其他的容器,int可以換成其他基本類型,也可以自訂的資料結構或類。首先,要說明的是,這兩種方式,怎麼用都可以實現功能,把一組整型數放到容器裡。先看看兩種方式在使用的時候的區別。1.vector<int>複製代碼 代碼如下:vector<int> vecTemp;for
Time of Update: 2017-01-19
1.添加標頭檔複製代碼 代碼如下:#include <utils/Log.h> //或者 #include <cutils/Log.h> 這個時候可以使用ALOGE/ALOGI/ALOGW 等方法列印出log 不過有些地方不能這麼使用,因為依賴libutils libctuils庫在mk檔案見添加如下依賴編譯即可複製代碼 代碼如下:#LOCAL_MODULE := ... ...
Time of Update: 2017-01-19
一、原型:extern void *malloc(unsigned int num_bytes);標頭檔:#include <malloc.h> 或 #include <alloc.h> (注意:alloc.h 與 malloc.h 的內容是完全一致的。)功能:分配長度為num_bytes位元組的記憶體塊說明:如果分配成功則返回指向被分配記憶體的指標,否則返回null
Time of Update: 2017-01-19
今天再為大家介紹另一個常用的管理系統——圖書管理系統,希望大家可以親自動手實踐一下,下面就與大家一起分享我的勞動成果。圖書資訊包括:登入號、書名、作者名、分類號、出版單位、出版時間、價格等。試設計一圖書資訊管理系統,使之能提供以下功能:(1)圖書資訊錄入功能(圖書資訊用檔案儲存)(2)圖書資訊瀏覽功能(3)查詢和排序功能:(至少一種查詢方式)