《Effective Modern C++》item 7:Distinguish between () and {} when creating objects

 


定義一個對象時,對其進行初始化

 

常見的初始化方式:  (), {}, =

等於號可能對應 複製構造函數:

 

c++ 11引入了通過{}來進行初始化的方式, braced initialization,作爲一種通用的方式

{}可初始化std 容器中的初始值:

{}可初始化非靜態成員變量的值

{}可初始化uncopyable objects,e.g, std::atomics

 item40: https://blog.csdn.net/qq_35865125/article/details/104101751

小總結:

 

使用{}初始化可以防止隱式類型轉換

 

使用{}初始化可以區分 函數聲明 和 使用無參構造函數時的變量定義

 

使用{}初始化的缺點:

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章