[問題] C++ 語法問題

看板C_and_CPP作者 (yshihyu)時間9年前 (2016/03/04 00:17), 編輯推噓3(302)
留言5則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ https://github.com/OSVR/OSVR-Core/blob/master/plugins/videoimufusion/VideoIMUFusion.cpp 上面網址的156 行 StartupData() : last(getNow()), positionFilter(filters::one_euro::Params{}), orientationFilter(filters::one_euro::Params{}) {} 上面是 class constructor initializer list 不懂 positionFilter(filters::one_euro::Params{}) 為什麼可以 assign, 它們之間沒有class 不同class 也沒有繼承關係 filters::one_euro::Params{} 是什麼特殊語法嗎? Params 型態定義如下 struct Params { Params() : minCutoff(1), beta(0), derivativeCutoff(1) {} Params(double minCut, double b, double dCut = 1) : minCutoff(minCut), beta(b), derivativeCutoff(dCut) {} double minCutoff; double beta; double derivativeCutoff; }; filters::OneEuroFilter<Eigen::Vector3d> positionFilter; positionFilter 型態如下 , 因為程式碼有點長, 我貼網址在178行 https://github.com/OSVR/OSVR-Core/blob/master/inc/osvr/Util/EigenFilters.h 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.182.180.138 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1457021829.A.841.html

03/04 00:43, , 1F
? constructor 不就寫了嗎?
03/04 00:43, 1F

03/04 00:44, , 2F
explicit OneEuroFilter(Params const &p)
03/04 00:44, 2F

03/04 00:50, , 3F
大致董了... 那Params{} 這語法算是?
03/04 00:50, 3F

03/04 00:55, , 4F
C++11 uniform initialization
03/04 00:55, 4F

03/04 02:48, , 5F
en.cppreference.com/w/cpp/language/list_initialization
03/04 02:48, 5F
文章代碼(AID): #1Ms6E5X1 (C_and_CPP)