原创 c++string類

1.string是表示字符串的字符串類 2.該類的接口與常規容器的接口基本相同。 string類對象的常見構造 void TestString() { string s1;//構造一個string空類對象s1 string s

原创 linux進程概念

進程 課本概念:程序的一個執行實例,正在執行的程序等 內核觀點:擔當分配系統資源(cpu時間,內存)的實體 描述進程—PCB 進程信息被放在一個叫做進程控制塊的數據結果中,可以理解爲進程屬性的集合。 Linux操作系統下的PCB的

原创 c++string的基本實現

class String { public: typedef char* Iterator; friend ostream& operator<<(ostream&_cout,String&s); String(const

原创 c++STL簡介

1.什麼是STL STL是c++標準庫的重要組成部分,不僅僅是一個可複用的組件庫,而且是一個保羅數據結構與算法的軟件框架。 2.STL的六大組件 仿函數:greater less 算法:find swap reverse sort

原创 c++list

list是可以在常數範圍內在任意位置進行插入和刪除的序列式容器,並且該容器可以前後雙向迭代。 list的底層是雙向鏈表結構,雙向鏈表中每個元素存儲在互不關聯的獨立節點中,在節點中通過指針指向其前一個元素和後一個元素。 list與

原创 c++vector基本實現

#include<iostream> #include<algorithm> #include<assert.h> #include<string> using namespace std; namespace bit{ te

原创 c++淺拷貝與深拷貝

先看下面這份代碼 class String { public: String(const char* str="") { //構造string類對象,如果傳遞nullptr指針,認爲程序非法,此處斷言下 if (nul

原创 Linux環境變量

基本概念 環境變量一般是指在操作系統中來指定操作系統運行環境的一些參數,如我們編寫c/c++代碼的時候,在鏈接的時候,從來不知道我們的所鏈接的動態靜態庫在哪裏,但是照樣可以鏈接成功,生成可執行程序,原因就是有相關環境變量幫助編譯

原创 Linux進程地址空間

首先來段代碼 3#include<iostream> 4 #include<stdlib.h> 5 using namespace std; 6 int g_val=0; 7 int main() 8 {

原创 c++單例模式

1.設計模式 設計模式是一套被反覆使用,多數人知曉的,經過分類的,代碼設計經驗的總結。(套路) 設計模式的目的:爲了代碼可重用性,讓代碼更容易被他人理解,保證代碼的可靠性。設計模式使代碼編寫真正工程化,設計模式是軟件工程的基石脈絡

原创 c++內部類

1.概念 如果一個類定義在另一個類的內部,這個類就叫內部類。注意此時這個內部類是一個獨立的類,它不屬於外部類,更不能通過外部類的對象取調用內部類。外部類對內部沒有任何優越的訪問權限。 2.特性 內部類可用定義在外部類的public

原创 c++static成員

1.概念 聲明static的類成員稱爲類的靜態成員,用static修飾的成員變量,稱之爲靜態成員變量;用static修飾的成員函數,稱爲靜態成員函數。靜態成員變量一定要在類外井下初始化!! 2.特性 靜態成員爲所以類對象所共有,不

原创 c++內存泄漏

1.內存泄漏 內存泄漏指因爲疏忽或錯誤造成程序未能釋放已經不再使用的內存情況。內存泄漏並不是指內存在物理上的消失,而是應用程序分配某段內存後,因爲設計錯誤,失去了對該段內存的控制,因而造成了內存的浪費。 2.內存泄漏分類 堆內存泄

原创 Linux簡單的基本操作指令

ls指令 語法:ls [選項][目錄或文件] 功能:對於目錄,該命令列出該目錄下的所有子目錄和文件。對於文件,將列出文件名及其信息 常用選項: -a 列出目錄下的所有文件,包含.開頭的隱含文件。 -d 將目錄象文件一樣顯示

原创 c++入門

c語言是結構化和模塊化的語言,適合處理較小規模的程序,不適合複雜編寫。 c++、 面嚮對象語言,c++98是c++第一個標準版本 命名空間 通過範圍限制,解決命名衝突。 對標識符的名稱進行本地化,以避免命名衝突或名字污染 命名空間定