1. 程式人生 > 其它 >C/C++語法基礎

C/C++語法基礎

1.初始化

//陣列
int a[10]={1}//第一個元素是1,其餘全是0
int a[]={1,2,3,4,5}//可以不指定初始長度
int a[2][5]={{1,2,3,4,5},{6,7,8,9,10}}//初始化二維陣列
int *a = (int*)malloc(sizeof(int)*10)//動態分配空間
int *a = new int(10)//動態分配空間
//vector容器(動態陣列)
vector<int> a(10)//定義十個整型元素向量
vector<int> a(10,1)//十個整型賦初值1
vector<int> a; a.assign(10,1)//十個整型賦初值1
vector<int> a(b)//b複製給a
vector<int> a(b,b+3)//b陣列中0~2個元素複製給a
vector<int> a(b.begin(),b.begin()+3)//b向量中0~2個元素複製給a

vector<vector<int>> vec(N,vector<int>(M,value))
//N行M列初值為value的二維向量
//string字串
string str = "hello"
string str("hello")
string str = str0
string str(str0)
string str(10,'h')//str="hhhhhhhhhh"
string str = string(10,'h')
string str(str0,6)//str0從第6個字元開始拷貝
string str(str0,0,5)//str0拷貝0~5個字元

2.容器/資料結構用法

//vector容器
vec.push_back(elem)//尾部加入元素
vec.pop_back()//刪除最後一格元素
vec.front()//返回第一個元素
vec.back()//返回最後一格元素
vec.size()//返回元素個數
vec.empty()//判斷容器是否為空
vec[i]//返回第i個元素當且僅當其存在
//list容器類似
//map

//string字串
str.size()//獲取長度
str[i],str.at(i)//返回指定位置字元
str.insert()//插入
str.replace()//替換
str.append(4,'h')//str尾部插入"hhhh"
str.append(str0) // str尾部插入str0
str.append(str0,4,6)//將str0第4個元素開始的6個字元插入str尾部
str.assign()//賦值
str.erase()//刪除
str.substr()//切片
str.compare()//比較
str.find(str0)//匹配子串,返回位置
//stack、queue
push()//向隊尾插入元素
pop()//刪除隊首元素
//deque(雙端佇列)
push_back()// 向隊尾插入元素
pop_back()//刪除隊尾元素
push_front()//向隊首插入元素
pop_front()//刪除隊首元素