Time of Update: 2018-12-05
SDL(Simple DirectMedia Layer)是一套開放原始碼的跨平台多媒體開發庫,使用C語言寫成。SDL提供了數種控製圖像、聲音、輸出入的函數,讓開發人員只要用相同或是相似的代碼就可以開發出跨多個平台(Linux、Windows、Mac OS X等)的應用軟體。目前SDL多用於開發遊戲、模擬器、媒體播放器等多媒體應用領域。SDL使用GNU寬通用公用許可證為授權方式,意指動態連結(dynamic link)其庫並不需要開放本身的原始碼。因此諸如《雷神之錘4》(Quake
Time of Update: 2018-12-05
multimap關聯容器用於鍵以及關聯值(通常稱為鍵/值對)的快速儲存和存取。multiset和set中使用的許多函數,也能夠用於multimap和map中。multimao和map中的元素都是鍵/值對而不是單個值。插入到一個multiumap或者時,使用的是一個包含鍵和值的pair的對象。鍵的順序由比較函數對象確定。例如,在一個鍵類型為整數的multimap中,鍵能夠通過比較函數對象less<int>按鍵的升序排序。multimap中允許重複的鍵,因此,多個不同的值能與同一個鍵相關
Time of Update: 2018-12-05
類模版vector提供的資料結構具有隨機訪問連續的記憶體位置。這樣可以通過下標運算子[]高效直接存取vector中的任何一個元素。就像C、C++中原始數組那樣。當容器中的資料必須方便的根據下標訪問或者需要排序。最長使用的是類模版vector。當vector的記憶體耗盡,會分配一塊更大的記憶體,將原來的資料複製到新的記憶體並銷毀舊的記憶體。提示:選擇vector容器可以實現最佳的隨機訪問效能。#include <iostream>using namespace
Time of Update: 2018-12-05
. 。我們已經學過重載(Overloading),對重載函數而言,C++的檢查機制能通過函數參數的不同及所屬類的不同。正確的調用重載函數。例如,為求兩個數的最大值,我們定義MAX()函數需要對不同的資料類型分別定義不同重載(Overload)版本。//函數1.int max(int x,int y);{return(x>y)?x:y ;}//函數2.float max( float x,float y){return (x>y)? x:y ;}//函數3.double
Time of Update: 2018-12-05
map關聯容器執行唯一的鍵與關聯值的快速儲存和提取。map中不允許重複的鍵,每個值都只能與一個鍵關聯。這通常稱為一對一映射。例如,一家採用唯一員工編號的公司,肯能使用一個map,將員工編號和電話分機號碼分別關聯。利用map,能夠用鍵快速擷取相關聯的資料。map也被成為關聯陣列(associative arry)。在map的下標運算子[]中提供鍵,能夠在map中搜尋出與這個鍵想關聯的值。map中任何位置都可以執行插入和刪除操作。#include <iostream>#include &
Time of Update: 2018-12-05
/******************set*/#include <iostream>#include <set>#include <algorithm>#include <iterator>using namespace std;typedef set<double,less<double> > DoubleSet;//注意> >間距int main(){ const int SIZE=5;double
Time of Update: 2018-12-05
#include <iostream>using namespace std;#include <list>using std::list;#include <algorithm>#include <iterator>template<typename T> void printlist(const list<T> &listRef);int main(){const int size=4;int
Time of Update: 2018-12-05
在C語言中,修飾符extern用在變數或者函數的聲明前,用來說明“此變數/函數是在別處定義的,要在此處引用”。1. extern修飾變數的聲明。舉例來說,如果檔案a.c需要引用b.c中變數int v,就可以在a.c中聲明extern int v,然後就可以引用變數v。這裡需要注意的是,被引用的變數v的連結屬性必須是外連結(external)的,也就是說a.c要引用到v,不只是取決於在a.c中聲明extern int
Time of Update: 2018-12-05
DE>#include<stdio.h>int atoi(const char *str){ int value=0; bool b_plus=true; //判斷符號 switch(*str) //過濾符號 { case '+': str++; break; case '-': b_plus=false; str++; break; default:
Time of Update: 2018-12-05
C++ vector 排序2009-12-21 17:17最近做的東西,要將vector 中的內容輸出,結果發現有些檔案被交替反覆開啟,所以就想吧vector 中的元素排序,學習中發現下面這篇文章總結的挺好的,分享一下也~C++中當 vector 中的資料類型為基本類型時我們調用std::sort函數很容易實現
Time of Update: 2018-12-05
#include<stdio.h>#include<string.h>#define N 100/**Func:For two and a collapse*date:2011-10-19*author:huzhongzhong*/int main(){ char m_a[N], m_b[N], m_c[N + 1];//m_a、m_b存相加的是機m_c存取結果 int m_flag = 0 , lengths, lengthb, m_fren, m_tem,
Time of Update: 2018-12-05
一句話總結:先按照繼承順序調用建構函式,有參數則傳遞參數,沒有參數調用預設建構函式再按照資料成員(類類型的資料成員)定義順序調用建構函式 #include <iostream>using std::cout;using std::endl;class B1 { public: B1(int i) {cout<<"consB1"<<i<<endl;}};class B2 { public: B2(int j) {cout<
Time of Update: 2018-12-05
記憶體配置方式記憶體配置方式有三種:[1] 從靜態儲存地區分配。記憶體在程式編譯的時候就已經分配好,這塊記憶體在程式的整個運行期間都存在。例如全域變數, static 變數。[2] 在棧上建立。在執行函數時,函數內局部變數的儲存單元都可以在棧上建立,函數執行結束時這些儲存單元自動被釋放。棧記憶體配置運算內建於處理器的指令集中 ,效率很高,但是分配的記憶體容量有限。[3] 從堆上分配,亦稱動態記憶體分配 。程式在啟動並執行時候用 malloc 或 new 申請任意多少的記憶體,程式員自己負責在何時
Time of Update: 2018-12-05
#include <iostream>#include <vector>#include <iterator>#include <algorithm>#include <stdexcept>//拋出異常using std::vector;using namespace std;int main(){const int SIZE=6;int arry[SIZE]={1,2,3,4,5,6};/*
Time of Update: 2018-12-05
#include<stdio.h>#include<string.h>int main(void){char string[100];int index = 1;int sum = 0;int temval = 1;char ope, c,inope; memset(string, 0, 100); scanf("%s",string); sum += (string[0] - 48);while(string[index] != '\0') {
Time of Update: 2018-12-05
#include<iostream>using namespace std;class AA{ public: AA(int s) { x = s; } void setx(int) const; void pp() const;private: int x; };void AA::setx(int s) const//常量函數不可以修改成員{// x = s;}void AA::pp() const{ cout<<x<<endl;}int main()
Time of Update: 2018-12-05
今天學習了下c/c++相關的記憶體使用量問題,大家都知道記憶體對於程式員來說是個非常神秘的空間,使用的恰當與否決定了一個程式的優劣。總之我感覺這個非常麻煩。下面是我在網上學習到的以及總結的一些東西。
Time of Update: 2018-12-05
轉載自:http://www.cnblogs.com/baishahe/archive/2008/03/21/1115919.htmlString –> byte[] :byte[] byteArray = System.Text.Encoding.Default.GetBytes( str );byte –> String: string str = System.Text.Encoding.Default.GetString( byteArray
Time of Update: 2018-12-05
轉載自http://blog.pfan.cn/goalbell/23233.html下面我總結下我對out和ref引用參數的看法: 1.out和ref引用參數的相同點:都是通過引用傳遞參數給函數; 2.out和ref引用參數的不同點是:用ref引用傳遞參數,該參數必須經過初始化,並且不能在調用它的函數中初始化,以下例子是錯誤的: namespace refConsoleApp{ class MyRefClass { static void
Time of Update: 2018-12-05
C++中,如果父類中的函數前邊標有virtual,才顯現出多態。如果父類func是virtual的,則Super *p =new Sub();p->func(); // 調用子類的func如果不是virtual的,p->func將調用父類原來的函數。 Java中,不管寫不寫virtual都是多態的,子類的同名函數會override父類的。與C++很不同的是,初始化的過程也不相同。在還未初始化子類的時候,子類的同名函數就已經覆蓋了父類的了。例如:public class Super {