C++中大括號的用法合集
學(xué)習(xí)C++以來還沒有總結(jié)過C++的大括號的使用方式,于是有此文記錄一下。
方法一:定義代碼塊
最常用的方式之一,不做解釋:
if (condition) { // 代碼塊 } else { // 另一個代碼塊 }
方式二:作用域控制
像下面的這樣的代碼就不能夠執(zhí)行,因為a這個變量作用域不足以讓 cout 訪問。
{ int a = 10; } cout << a << endl; return 0;
方式三:類與結(jié)構(gòu)體的定義
這個方式也很常見,不多做解釋。
struct Point { int x; int y; }; class Rectangle { int width, height; public: Rectangle(int w, int h) : width(w), height(h) {} int area() { return width * height; } };
方式四:初始化列表
在 C++11 引入了大括號初始化(也稱為統(tǒng)一初始化),可以用來初始化變量、數(shù)組、容器等。
簡單變量初始化
int x{10}; double y{3.14};
數(shù)組初始化
int arr[3] = {1, 2, 3};
容器初始化
std::vector<int> vec = {1, 2, 3, 4};
統(tǒng)一初始化方式可以避免窄化轉(zhuǎn)換問題,提高代碼的安全性。
值得一提的是,著名的宇宙構(gòu)造表達(dá)式也是這樣原理。
方式五:構(gòu)造函數(shù)委托
class Example { int a; public: Example(int x) : a{x} {} };
方式六:內(nèi)聯(lián)對象定義
struct Point { int x, y; }; Point p = {10, 20}; // 使用大括號直接初始化
對于匿名對象或臨時對象,這種寫法簡潔明了。
方式七:lambda 表達(dá)式的函數(shù)體
auto lambda = []() { return 42; };
方式八:內(nèi)聯(lián)命名空間
大括號用于定義命名空間的范圍。
namespace MyNamespace { inline namespace v1 { void func() {} } }
目前就這些,如有新的心得則繼續(xù)補(bǔ)充。
到此這篇關(guān)于C++中大括號的用法合集的文章就介紹到這了,更多相關(guān)C++大括號內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
OpenCV鼠標(biāo)繪制矩形和截取矩形區(qū)域圖像
這篇文章主要為大家詳細(xì)介紹了OpenCV鼠標(biāo)繪制矩形和截取矩形區(qū)域圖像,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-01-01C++實現(xiàn)LeetCode(53.最大子數(shù)組)
這篇文章主要介紹了C++實現(xiàn)LeetCode(53.最大子數(shù)組),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07