一.C++中部分關鍵字的用法
1. auto
關鍵字auto是C++11引入的,它可以用于變量聲明和函數返回類型的推導。當你不關心變量的具體類型時,可以使用auto來讓編譯器根據初始化表達式推導出變量的類型。這樣可以簡化代碼,提高可讀性。
1.在for循環中遍歷容器時,使用auto可以簡化迭代器的類型聲明:
std::vector<int> vec = {1, 2, 3, 4, 5};
for (auto it = vec.begin(); it != vec.end(); ++it) {// 使用it進行操作
}
2.使用new或make_*函數創建對象時,使用auto可以簡化指針或智能指針的類型聲明:
auto ptr = std::make_shared<int>(42);
3.在表達式模板等復雜情況下,使用auto可以讓編譯器推導出表達式的類型,避免手動書寫復雜的類型聲明:
auto result = expression1 * expression2 + expression3;
2.bool
用于聲明布爾類型的變量,布爾類型的變量存儲true或false兩個值。布爾類型變量除了存儲true和false之外,實際上在C++中,它們可以存儲其他整數值。當布爾類型變量被賦予一個非零的整數值時,它會被視為true;當被賦予零時,它會被視為false。
1.基本用法:
bool isReady = true;
bool isFinished = false;
2.條件語句: bool類型通常用于條件語句中
bool isRaining = true;
if (isRaining) {// do something
} else {// do something else
}
3.邏輯運算: bool類型通常與邏輯運算符一起使用,例如&&(與)、||(或)、!(非):
bool hasMoney = true;
bool hasTime = false;
if (hasMoney && !hasTime) {// do something
}
4.函數返回值: bool類型常用作函數的返回值,表示函數執行的成功或失敗。
bool isValidInput(int value) {if (value > 0) {return true;} else {return false;}
}
3.break
用于在循環或者 switch 語句中終止當前的循環。
1.在循環中使用 break:
- 當 break 語句被執行時,它會立即終止當前的循環,然后程序的執行流程會跳轉到循環后面的語句。
- break 通常用于 for、while、do-while 等循環中,以提前結束循環。
- 如果是多層循環時,break只是跳出當前所在的循環,并不會跳出所有循環。
#include <iostream>
using namespace std;int main() {for (int i = 0; i < 10; i++) {if (i == 5) {break; // 當 i 等于 5 時,終止循環}cout << i << " ";}return 0;
}
2.在 switch 語句中,每個 case 后面通常會跟隨一個 break 語句,以確保在匹配到一個 case 后,程序會跳出 switch 語句,而不會繼續執行后續的 case。
#include <iostream>
using namespace std;int main() {int num = 2;switch (num) {case 1:cout << "Number is 1" << endl;break;case 2:cout << "Number is 2" << endl;break; // 終止 switch 語句case 3:cout << "Number is 3" << endl;break;default:cout << "Number is not 1, 2, or 3" << endl;}return 0;
}
4.catch
用于捕獲異常并進行處理。當在try塊中拋出異常時,catch塊會捕獲并處理該異常。
#include <iostream>
using namespace std;int main() {try {throw 20;} catch (int e) {cout << "捕獲到異常。異常編號:" << e << endl;}return 0;
}
最終打印:捕獲到異常。異常編號:20
5.continue
用于在循環結構中控制程序的執行流程。當程序執行到continue語句時,會立即跳過當前循環中剩余的代碼,然后繼續下一次循環的執行。
#include <iostream>
using namespace std;int main() {for (int i = 1; i <= 5; i++) {if (i == 3) {continue; // 當i等于3時,跳過當前循環,繼續下一次循環}cout << "當前的i值為: " << i << endl;}return 0;
}
6.enum
用于定義枚舉類型,它允許我們創建一個新的數據類型,該數據類型具有一組固定的可能值,并且變量可以從這組值中選擇一個。
// 定義一個枚舉類型
enum Days {Saturday, Sunday, Tuesday, Wednesday, Thursday, Friday};// 聲明一個枚舉變量并初始化
Days day = Saturday;// 使用枚舉變量進行比較
if (day == Saturday) {std::cout << "今天是星期六" << std::endl;
}
- 默認情況下,第一個名稱Saturday的值為 0,第二個名稱Sunday的值為 1,第三個名稱Tuesday的值為 2,以此類推。
- 也可以給名稱賦予一個特殊的值,只需要添加一個初始值即可。
enum Days {Saturday, Sunday = 3, Tuesday, Wednesday, Thursday, Friday};
那么:Saturday依舊還是0,Sunday = 3,Tuesday = 4,依次類推,后面的值都比前一個大1。