Time of Update: 2018-12-04
1.介紹STL ,詳細說明stl如何?vector? stl 他是與容器,演算法,迭代器組成。優點:1.方便的對資料進行一系列的操作:排序,搜尋,插入,添加,刪除等。 2. 偵錯工具方便和安全 3.跨平台。 vector實質上就是一個動態數組,會根據資料的增加而擴充其空間大小。2.多態和繼承的關係及區別: 多態的基礎是繼承,沒有繼承,就沒有多態。3.指標引用?
Time of Update: 2018-12-04
1.不同 資料類型的的範圍。如int char 6.整型變數(int):短整型(short int)(-3萬~3萬)(2位元組),普通整型(int)(-21億~+21億)(4位元組),長整型(這裡跟普通整型沒區別)。可再細分有符號和沒符號的整型。 7.浮點類型變數(double) <表示的數值是模糊數> 用來存實數 具體類型:float(4位元組 )單精確度(7位有效數,6位小數) double(8位元組) 雙精確度(16有效數,15小數) long
Time of Update: 2018-12-04
合并排序(MERGE SORT)是又一類不同的排序方法,合并的含義就是將兩個或兩個以上的有序資料序列合并成一個新的有序資料序列,因此它又叫歸併演算法。它的基本思想就是假設數組A有N個元素,那麼可以看成數組A是又N個有序的子序列組成,每個子序列的長度為1,然後再兩兩合并,得到了一個 N/2 個長度為2或1的有序子序列,再兩兩合并,如此重複,值得得到一個長度為N的有序資料序列為止,這種排序方法稱為2—路合并排序。 例如數組A有7個資料,分別是: 49 38 65 97 76 13
Time of Update: 2018-12-04
(1)下列( B )不是電腦病毒的特性。 A)傳染性 B)結構性 C)隱蔽性 D)可激發性第(2)~(4)題基於如下所示的二叉樹。 (2)該二叉樹對應的樹林包括( )棵樹。 A)1 B)2 C)3 D)4(3)如果用liink-rlink法儲存該二叉樹,則各結點的指標域中共包含( )個null 指標。 A)0 B)4 C)8
Time of Update: 2018-12-04
c++ 強制轉換類型運算子 const_cast reinterpret_cast static_cast dynamic_cast 1. static_cast<T*>(a) 將地址a轉換成類型T,T和a必須是指標、引用、算術類型或枚舉類型。 運算式static_cast<T*>(a), a的值轉換為模板中指定的類型T。在運行時轉換過程中,不進行類型檢查來確保轉換的安全性。 例子:
Time of Update: 2018-12-04
C++風格的類型轉換的用法這是More Effecitve C++裡的第二條對類型轉換講的很好,也很基礎好懂。Item
Time of Update: 2018-12-04
簡單的C語言實現,用戶端通過TCP協議向伺服器端請求傳輸的檔案,伺服器端收到請求後向用戶端傳送檔案。 伺服器程式和用戶端程式應當分別運行在兩台電腦上。在運行伺服器端的電腦終端執行:./file_server在運行用戶端的計算終端上執行:./file_client ipaddr_server然後根據提示輸入要傳輸的伺服器上的檔案,該檔案必須在伺服器的當前運行目錄中,否則會提示找不到檔案。 直接上源碼吧: /////////////////////////////////////////////
Time of Update: 2018-12-04
引言 指標是C/C++語言的特色,而數組名與指標有太多的相似,甚至很多時候,數組名可以作為指標使用。於是乎,很多程式設計者就被搞糊塗了。而許多的大學老師,他們在C語言的教學過程中也錯誤得給學生講解:"數組名就是指標"。很幸運,我的大學老師就是其中之一。時至今日,我日複一日地進行著C/C++項目的開發,而身邊還一直充滿這樣的程式員,他們保留著"數組名就是指標"的誤解。 想必這種誤解的根源在於國內某著名的C程式設計教程。如果這篇文章能夠糾正許多中國程式員對數組名和指標的誤解,筆者就不甚欣慰了。藉
Time of Update: 2018-12-04
智能指標(smart pointer)是儲存指向動態分配(堆)對象指標的類,用於生存期控制,能夠確保自動正確的銷毀動態分配的對象,防止記憶體泄露。它的一種通用實現技術是使用引用計數(reference
Time of Update: 2018-12-04
今天一朋友問及C++中的前置聲明問題,下面是我給出的回答。 在編寫C++程式的時候,偶爾需要用到前置聲明(Forward declaration)。下面的程式中,帶注釋的那行就是類B的前置說明。這是必須的,因為類A中用到了類B,而類B的聲明出現在類A的後面。如果沒有類B的前置說明,下面的程式將不同通過編譯,編譯器將會給出類似“缺少類型說明符”這樣的出錯提示。代碼一:// ForwardDeclaration.h#include <iostream>using namespace
Time of Update: 2018-12-04
Time of Update: 2018-12-04
C++中map容器提供一個索引值對容器,map與multimap差別僅僅在於multiple允許一個鍵對應多個值。 一、map的說明 1 標頭檔 #include <map> 2 定義 map<string, int> my_Map; 或者是typedef map<string, int> MY_MAP; MY_MAP my_Map; 3 插入資料 (1) my_Ma
Time of Update: 2018-12-04
STL中map用法詳解 說明:如果你具備一定的C++
Time of Update: 2018-12-04
1.聲明 一個聲明將一個名稱引入一個 範圍; 在c++中,在一個範圍中重複一個聲明是合法的 以下都是聲明: int foo(int,int); //函數前置聲明 typedef int Int; //typedef 聲明 class bar; //類前置聲明 extern int g_var; //外部參考聲明 class bar; //類前置聲明 typedef int Int; //typedef 聲明 extern int g_var; //外部參考聲明 friend test; /
Time of Update: 2018-12-04
const定義的常量在函數執行之後其空間會被釋放,而static定義的靜態常量在函數執行後不會被釋放其空間。static
Time of Update: 2018-12-04
代碼如下(摘自:http://bbs.csdn.net/topics/320012075):#include <winsock2.h>#include<windows.h>#include<stdio.h>#pragma comment(lib, "ws2_32.lib") int main(int argc, char* argv[]){ char server_name[256]= "www.163.com"; WSADATA
Time of Update: 2018-12-04
Const成員如其它任何成員一樣,簡單考慮其出現在三個位置:全域範圍、普通函數內部、類裡面。下面請看測試代碼:#include<iostream> using namespace std; class A { public: const int j;// const int k = 3; const static int i; }; //const static int A::i = 0; const int A::i = 1; //const
Time of Update: 2018-12-04
1.boost 這個使用的人多不多說了2.pthread windows下的posix線程實現3.libcurl 一個有名的開源網路爬蟲庫 阿里WangWang中使用到了4.libeay32 OpenSSL Library5.libtidy 一個專門解析htm的庫6.zlib 這個鬼都知道7.freetype c介面的type2字型處理庫8.libmad 一個編解碼mp3的庫9.libogg,等 一個編解碼ogg音頻格式的庫10.libsnd
Time of Update: 2018-12-04
你是否想過為什麼有時候main()函數是入口地址,在win32中winmain()函數又是入口地址,其實是編譯器在動態連結到crt[C runtime library(part of the C standard library)]時候設定的程式設定斷點,我們來看crtexe.c代碼第一個static int __cdecl pre_c_init(void)* The code in mainCRTStartup that was executed before executing
Time of Update: 2018-12-04
C++本身並沒有提供任何多線程機制,但是在windows下,我們可以調用SDK win32 api來編寫多線程的程式,下面就此簡單的講一下: 建立線程的函數HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD SIZE_T dwStackSize, // initial stack size LPTHREAD_START_ROUTINE