原创 模板實現動態順序表
定義類模板時,成員函數可以定義在類內部,也可以在類模板外定義。 此時成員函數中若有類型參數存在,則需注意: (1)要在成員函數定義之前進行模板聲明。 (2)在成員
原创 模板實現單鏈表
由於類模板不支持分離編譯,我們可以將模板類成員函數的聲明和定義放在一個.hpp的文件中SList.hpp#pragma once #include<iostream> using namespace std; #include<asser
原创 模板函數
模板是C++中泛型編程的基礎,是C++語言的一個重要特性。利用模板機制可以顯著減少冗餘信息,節約程序代碼。 模板函數,實際上就是建立一個通用的函數,函數的參數類型和返回類型不具體指定,利用虛擬的類型來代替,在編譯調用模板函數時
原创 將博客搬至CSDN
將博客搬至CSDN http://www.cnblogs.com/Lynn-Zhang/
原创 寫時拷貝(方案四)
方案四class String { private: char* _str; };方案四與方案三類似。方案四把用來計數的整形變量放在所開闢的內存空間的首部,用*((int*)_str)就能來改變計數值class
原创 模板實現單鏈表
由於類模板不支持分離編譯,我們可以將模板類成員函數的聲明和定義放在一個.hpp的文件中SList.hpp#pragma once #include<iostream> using namespace std; #include<asser
原创 分離編譯
分離式編譯是指一個完整的程序或項目由若干個源文件共同實現,每個源文件單獨編譯生成目標文件,最後將該項目中的所有目標文件連接成一個單一的可執行文件的過程。 每個.cpp源文件經過預處理,它所包含的.h文件的代碼都會被展開到其中。
原创 Linux下的文件查找命令——find
find 實際搜尋硬盤查詢文件名稱 通常情況下find命令並不是很常用,大家都優先使用whereis和locate命令來查找,因爲whereis和locate命令都是利用數據庫來查找文件所在,並沒有實際查詢硬盤,所以速度很
原创 C語言實現單鏈表
鏈表結構:SList.h#pragma once typedef int DataType; typedef struct SListNode { DataType data; struct SListNode* next; }SL
原创 CentOS 6.5 下的截圖方法
1.利用命令行實現截屏捕獲整個屏幕 : $ gnome-screenshot截完屏之後我們可以設置自定義圖片存儲位置,如圖:捕獲當前終端Terminal : $ gnome-screenshot -w捕獲自定義區域 :$ gnome-scr
原创 比較分析與數組相關的sizeof和strlen
// 形如: int a[]={1,2,3,4,5}; char name[]="abcdef";無論是整型數組還是字符數組,數組名作爲右值的時候都代表數組首元素的首地址。數組發生降級(數組名退化爲數組首元素的地址)的情況:數組傳參、數組名
原创 稀疏矩陣的壓縮存儲及轉置
沒有經過處理的稀疏矩陣其實就是一個特殊的二維數組,數組中的大部分元素是0或者其他類型的非法值,只有少數幾個非零元素。 爲了實現壓縮存儲,可以只存儲稀疏矩陣的非0元素。在存儲稀疏矩陣中的非0元素時,必須要存儲該元素的行列號以及元素值。我們
原创 模板函數
模板是C++中泛型編程的基礎,是C++語言的一個重要特性。利用模板機制可以顯著減少冗餘信息,節約程序代碼。 模板函數,實際上就是建立一個通用的函數,函數的參數類型和返回類型不具體指定,利用虛擬的類型來代替,在編譯調用模板函數時
原创 memcpy與memmove
函數原型:void* memcpy(void *dst,void const *src,size_t count) void* memmove(void *dst,void const *src,size_t count)頭文件:#incl
原创 寫時拷貝(方案三)
方案三class String { private: char* _str; size_t _size; size_t _capacity