云主機(jī)做網(wǎng)站域名打不開線上營銷活動(dòng)有哪些
文章目錄
- 【 字符串相關(guān) 】
- C++ 輸入輸出流
- strcpy_s() 字符串復(fù)制
- 輸出亂碼
- 【 STL 】
- 各個(gè) STL 支持的常見方法
- ? : 運(yùn)算符
- switch case 運(yùn)算符
switch(expression)
{case constant-expression :statement(s);break; // 可選的case constant-expression :statement(s);break; // 可選的default : // 可選的statement(s);
}
- C++可以不必在程序運(yùn)行前定義好所有變量。
- 5/2=2,例如:
cout << 5/2;
輸出為 2。 - 在 C 語言中,數(shù)組的大小必須在使用前已知,并且這個(gè)大小在整個(gè)程序的運(yùn)行過程中不能改變,除非使用動(dòng)態(tài)數(shù)組。因此,數(shù)組的大小通常由常量來定義,而不是變量。這是因?yàn)?#xff1a;
- 編譯時(shí)分配內(nèi)存:數(shù)組在內(nèi)存中的存儲(chǔ)是連續(xù)的,編譯器需要在編譯時(shí)知道數(shù)組的大小,以便為數(shù)組分配足夠的連續(xù)內(nèi)存空間。如果數(shù)組的大小在編譯時(shí)未知,編譯器就無法進(jìn)行內(nèi)存分配。
【 字符串相關(guān) 】
C++ 輸入輸出流
- 輸入字符串
char s[100]; cin.getline(s, 100);
- 輸入 string類
string s; getline(cin, s);
strcpy_s() 字符串復(fù)制
#include <iostream>
#include <cstring>
using namespace std;int main()
{char s1[] = "123456"; //普通字符串int n = sizeof(s1) / sizeof(char);char* s2 = new char[n]; //動(dòng)態(tài)字符串strcpy_s(s2, n, s1); //字符串復(fù)制cout << n << endl;cout << s2<<endl;return 0;
}
輸出亂碼
cout << value;
cout會(huì)自動(dòng)根據(jù)value的類型進(jìn)行輸出, 當(dāng) value 類型為 char* 時(shí),cout會(huì)從 value 這個(gè) char * 地址開始遍歷地址對應(yīng)的元素直至遇到 ‘\0’ 字符。- 實(shí)例
s1 是字符數(shù)組,直接將地址 s1 輸出,會(huì)因?yàn)闆]有遇到 ‘\0’ 字符輸出亂碼。
s2 是申請了類型為char大小為n的首地址,對其賦值后,也會(huì)由于沒有遇到 ‘\0’ 字符輸出亂碼。
而在 s2 的末位元素賦值為 ‘\0’ 后,將不再出現(xiàn)亂碼。
// 將 s1 的前 n 個(gè)元素賦值給 s2。
#include <iostream>
using namespace std;int main()
{int n;cin >> n;char s1[] = {'1','2','3','4','5'};char* s2 = new char[n];for (int i = 0; i < n; ++i)s2[i] =s1[i];cout << s2 <<endl;s2[n] = '\0';cout << s2 <<endl;return 0;
}
【 STL 】
各個(gè) STL 支持的常見方法
STL名稱 | 支持的常見方法 |
---|---|
vector | 大小:size() 尾添加:push_back() 頭尾指針: begin()、end() |
deque | 大小:size() 頭尾添加:push_front()、push_back() 頭尾刪除:pop_front()、pop_back() 頭尾指針: begin()、end() |
set | 大小:size() 插入:insert()、emplace() 刪除:erase() 查找: find() 最小的大于 val 的元素:upper_bound() 頭尾指針: begin()、end() |
map | 大小:size() 插入:insert()、emplace() 刪除:erase() 查找: find() 頭尾指針: begin()、end() 最小的大于 val 的元素:upper_bound() 頭尾指針: begin()、end() |
stack | 大小:size() 壓棧:push() 棧頂元素刪除:pop() 棧頂指針: top() |
queue | 大小:size() 尾添加:push() 頭刪除:pop() 頭尾指針: front()、back() |