使用相同的建構子參數和成員變數名稱
問題:
問題:class Blah { std::vector<int> vec; public: Blah(std::vector<int> vec): vec(vec) {} };
是否允許使用與建構函數參數相同的名稱初始化成員變量,如下所示代碼?
答案:Names in the expression-list of a mem-initializer are evaluated in the scope of the constructor for which the mem-initializer is specified.是的,這種做法完全符合C標準。根據標準第 12.6.2/7 節:
這表示在建構函式初始化清單中,可以使用與建構子參數相同的名稱來引用成員變數。因此,您提供的代碼既合法又保證可以正常工作。
以上是建構函數參數和成員變數可以有相同的名稱嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!