C++中大括號的用法合集
學(xué)習(xí)C++以來還沒有總結(jié)過C++的大括號的使用方式,于是有此文記錄一下。
方法一:定義代碼塊
最常用的方式之一,不做解釋:
if (condition) { // 代碼塊 } else { // 另一個(gè)代碼塊 }
方式二:作用域控制
像下面的這樣的代碼就不能夠執(zhí)行,因?yàn)閍這個(gè)變量作用域不足以讓 cout 訪問。
{ int a = 10; } cout << a << endl; return 0;
方式三:類與結(jié)構(gòu)體的定義
這個(gè)方式也很常見,不多做解釋。
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}; // 使用大括號直接初始化
對于匿名對象或臨時(shí)對象,這種寫法簡潔明了。
方式七: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ū)域圖像,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01浮點(diǎn)數(shù)乘法和整形乘除法的效率經(jīng)驗(yàn)比較
這篇文章主要為大家介紹了浮點(diǎn)數(shù)乘法和整形乘除法的效率經(jīng)驗(yàn)比較,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05C++實(shí)現(xiàn)LeetCode(53.最大子數(shù)組)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(53.最大子數(shù)組),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07C++算法設(shè)計(jì)之馬踏棋盤的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了C++算法設(shè)計(jì)之馬踏棋盤的實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02C語言實(shí)現(xiàn)俄羅斯方塊課程設(shè)計(jì)
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)俄羅斯方塊課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06