เดจเดพเดเดเดคเตเดคเดฟเดจเตเดฑเต เดคเตเดเดเตเดเดคเตเดคเดฟเตฝ เดเตเดตเดฐเดฟเตฝ C++ เดเตเดกเต เดคเตเดเตเดเดฟเดเตเดเดฟเดเดเตเดเตเดจเตเดจเตเดตเตเดจเตเดจเต เดจเดฟเดเตเดเตพ เดชเดฑเดเตเดเดพเตฝ, เด เดตเดธเดพเดจเด เด เดคเต เดจเดฟเดเตเดเดณเตเดเต เดเดพเดฒเดฟเตฝ เดตเตเดเดฟเดตเดฏเตเดเตเดเตเด.
Bjarne Stroustrup
เดเดเตเดเตเดฌเตผ 31 เดฎเตเดคเตฝ เดจเดตเดเดฌเตผ 1 เดตเดฐเต, C++ เดฑเดทเตเดฏ เดชเตเดฑเตเดฑเตผ เดเตเตบเดซเดฑเตปเดธเต เดธเตเดจเตเดฑเต เดชเตเดฑเตเดฑเตเดดเตโเดธเตเดฌเตผเดเดฟเตฝ เดจเดเดจเตเดจเต - เดฑเดทเตเดฏเดฏเดฟเดฒเต เดตเดฒเดฟเดฏ เดคเตเดคเดฟเดฒเตเดณเตเดณ เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดเดเต เดเตเตบเดซเดฑเตปเดธเตเดเดณเดฟเดฒเตเดจเตเดจเต, JUG Ru เดเตเดฐเตเดชเตเดชเต เดธเดเดเดเดฟเดชเตเดชเดฟเดเตเดเต. เด
เดคเดฟเดฅเดฟ เดธเตเดชเตเดเตเดเดฑเตเดเดณเดฟเตฝ C++ เดธเตเดฑเตเดฑเดพเตปเดกเตเตผเดกเต เดเดฎเตเดฎเดฟเดฑเตเดฑเดฟ เด
เดเดเดเตเดเตพ, CppCon เดธเตเดชเตเดเตเดเดฑเตเดเตพ, O'Reilly เดชเตเดธเตเดคเด เดฐเดเดฏเดฟเดคเดพเดเตเดเตพ, LLVM, libc++, Boost เดคเตเดเดเตเดเดฟเดฏ เดชเตเดฐเตเดเดเตเดฑเตเดฑเตเดเดณเตเดเต เดฎเตเดฏเดฟเดจเตเดฑเดจเตผเดฎเดพเตผ เดเดจเตเดจเดฟเดตเดฐเตเด เดเตพเดชเตเดชเตเดเตเดจเตเดจเต. เดคเดคเตเดธเดฎเดฏ เดเดถเดฏเดตเดฟเดจเดฟเดฎเดฏเดคเตเดคเดฟเตฝ เดตเตเดฆเดเตเดงเตเดฏเด เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเดเตเดเดพเดจเตเด เด
เดจเตเดญเดตเดเตเดเตพ เดเตเดฎเดพเดฑเดพเดจเตเด เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจ เดชเดฐเดฟเดเดฏเดธเดฎเตเดชเดจเตเดจเดฐเดพเดฏ C++ เดกเดตเดฒเดชเตเดชเตผเดฎเดพเดฐเตเดฏเดพเดฃเต เดเตเตบเดซเดฑเตปเดธเต เดฒเดเตเดทเตเดฏเดฎเดฟเดเตเดจเตเดจเดคเต. เดตเดฟเดฆเตเดฏเดพเตผเดคเตเดฅเดฟเดเตพเดเตเดเตเด เดฌเดฟเดฐเตเดฆ เดตเดฟเดฆเตเดฏเดพเตผเดคเตเดฅเดฟเดเตพเดเตเดเตเด เดฏเตเดฃเดฟเดตเตเดดเตเดธเดฟเดฑเตเดฑเดฟ เด
เดงเตเดฏเดพเดชเดเตผเดเตเดเตเด เดตเดณเดฐเต เดจเดฒเตเดฒ เดเดฟเดดเดฟเดตเตเดเตพ เดจเตฝเดเตเดจเตเดจเต.
เดเตเตบเดซเดฑเตปเดธเดฟเดจเตเดฑเต เดฎเตเดธเตเดเต เดชเดคเดฟเดชเตเดชเต เด เดเตเดคเตเดค เดตเตผเดทเด เดเดชเตเดฐเดฟเดฒเดฟเตฝ เดคเดจเตเดจเต เดธเดจเตเดฆเตผเดถเดฟเดเตเดเดพเตป เดฒเดญเตเดฏเดฎเดพเดเตเด, เดเดจเตเดจเดพเตฝ เด เดคเดฟเดจเดฟเดเดฏเดฟเตฝ เดเดเตเดเดณเตเดเต เดตเดฟเดฆเตเดฏเดพเตผเดคเตเดฅเดฟเดเตพ เด เดตเดธเดพเดจ เดชเดฐเดฟเดชเดพเดเดฟเดฏเดฟเตฝ เดชเด เดฟเดเตเด เดฐเดธเดเดฐเดฎเดพเดฏ เดเดพเดฐเตเดฏเดเตเดเตพ เดจเดฟเดเตเดเดณเตเดเต เดชเดฑเดฏเตเด.
เดซเตเดเตเดเตเดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณเดคเต
เดเดเตเดเดณเต เดเตเดฑเดฟเดเตเดเต
เดจเดพเดทเดฃเตฝ เดฑเดฟเดธเตผเดเตเดเต เดฏเตเดฃเดฟเดตเตเดดเตเดธเดฟเดฑเตเดฑเดฟ เดนเดฏเตผ เดธเตเดเตเตพ เดเดซเต เดเดเตเดเดฃเตเดฎเดฟเดเตเดธเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดฐเดฃเตเดเต เดตเดฟเดฆเตเดฏเดพเตผเดคเตเดฅเดฟเดเตพ - เดธเตเดจเตเดฑเต เดชเตเดฑเตเดฑเตเดดเตเดธเตเดฌเตผเดเต เด เดชเตเดธเตเดฑเตเดฑเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเต:
- เด เดชเตเดฒเตเดกเต เดฎเดพเดคเตเดคเดฎเดพเดฑเตเดฑเดฟเดเตเดธเต เดเตปเดกเต เดเดฎเตเดชเตเดฏเตเดเตเดเตผ เดธเดฏเตปเดธเต เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดจเตเดฑเต เดญเดพเดเดฎเดพเดฏเดฟ เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดเดเต เดญเดพเดทเดเตพ เดชเด เดฟเดเตเดเตเดจเตเดจ เดจเดพเดฒเดพเด เดตเตผเดท เดฌเดฟเดฐเตเดฆ เดตเดฟเดฆเตเดฏเดพเตผเดคเตเดฅเดฟเดจเดฟเดฏเดพเดฃเต เดฒเดฟเดธ เดตเดพเดธเดฟเดฒเตเดเตเดเต. เดธเตผเดตเตเดตเดเดฒเดพเดถเดพเดฒเดฏเดฟเดฒเต เดเดจเตเดฑเต เดเดฆเตเดฏ เดตเตผเดทเดคเตเดคเดฟเตฝ เดคเดจเตเดจเต C++ เดญเดพเดทเดฏเตเดฎเดพเดฏเดฟ เดชเดฐเดฟเดเดฏเดคเตเดคเดฟเดฒเดพเดฏ เดเดจเดฟเดเตเดเต เดชเดฟเดจเตเดจเตเดเต เดตเตเดฏเดตเดธเดพเดฏเดคเตเดคเดฟเดฒเต เดเดจเตเดฑเตเตบเดทเดฟเดชเตเดชเดฟเดฒเตเดเต เด เดคเดฟเดจเตเดชเตเดชเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเด เด เดจเตเดญเดตเด เดฒเดญเดฟเดเตเดเต. เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดเดเต เดญเดพเดทเดเดณเตเดเตเดณเตเดณ เด เดญเดฟเดจเดฟเดตเตเดถเดตเตเด เดชเตเดฐเดคเตเดฏเตเดเดฟเดเตเดเตเด เดซเดเดเตเดทเดฃเตฝ เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดเดเตเด เดเตเตบเดซเดฑเตปเดธเดฟเดฒเต เดฑเดฟเดชเตเดชเตเตผเดเตเดเตเดเตพ เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเตเดจเตเดจเดคเดฟเตฝ เด เดคเดฟเดจเตเดฑเต เดฎเตเดฆเตเดฐ เดชเดคเดฟเดชเตเดชเดฟเดเตเดเต.
- "เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดเดเต เดเตปเดกเต เดกเดพเดฑเตเดฑ เด เดจเดพเดฒเดฟเดธเดฟเดธเต" เดเดจเตเดจ เดฎเดพเดธเตเดฑเตเดฑเตเดดเตเดธเต เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดฒเต เดเดจเตเดจเดพเด เดตเตผเดท เดตเดฟเดฆเตเดฏเดพเตผเดคเตเดฅเดฟเดจเดฟเดฏเดพเดฃเต เดกเดพเดจเดฟเดฏ เดธเตเดฎเดฟเตผเดจเตเดตเต. เดธเตเดเตเดณเดฟเตฝ เดชเด เดฟเดเตเดเตเดฎเตเดชเตเตพ, เดเดพเตป เดธเดฟ ++ เตฝ เดเดณเดฟเดฎเตเดชเตเดฏเดพเดกเต เดชเตเดฐเดถเตเดจเดเตเดเตพ เดเดดเตเดคเดฟ, เดคเตเดเตผเดจเตเดจเต เดเดเตเดเดจเตเดฏเตเดเตเดเดฟเดฒเตเด เดญเดพเดท เดตเดฟเดฆเตเดฏเดพเดญเตเดฏเดพเดธ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเดณเดฟเตฝ เดจเดฟเดฐเดจเตเดคเดฐเด เดเดฏเตผเดจเตเดจเตเดตเดฐเตเดเดฏเตเด เดเดเตเดตเดฟเตฝ เดชเตเดฐเดงเดพเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจ เดญเดพเดทเดฏเดพเดฏเดฟ เดฎเดพเดฑเตเดเดฏเตเด เดเตเดฏเตเดคเต. เดเดจเตเดฑเต เด เดฑเดฟเดตเต เดฎเตเดเตเดเดชเตเดชเตเดเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเด เดชเตเดคเดฟเดฏ เด เดตเดธเดฐเดเตเดเดณเตเดเตเดเตเดฑเดฟเดเตเดเต เดชเด เดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดฎเดพเดฏเดฟ เดเดพเตป เดเตเตบเดซเดฑเตปเดธเดฟเตฝ เดชเดเตเดเตเดเตเดเตเดเดพเตป เดคเตเดฐเตเดฎเดพเดจเดฟเดเตเดเต.
เดตเดพเตผเดคเตเดคเดพเดเตเดเตเดฑเดฟเดชเตเดชเดฟเตฝ, เดซเดพเดเตเดเตฝเดฑเตเดฑเดฟ เดจเตเดคเตเดคเตเดตเด เดชเดฒเดชเตเดชเตเดดเตเด เดเดเตเดเดณเตเดเต เดธเตเดชเตเดทเตเดฏเดพเดฒเดฟเดฑเตเดฑเดฟเดฏเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเตเดเตเด เดตเดฟเดฆเตเดฏเดพเดญเตเดฏเดพเดธ เดชเดฐเดฟเดชเดพเดเดฟเดเดณเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดตเดฟเดตเดฐเดเตเดเตพ เดชเดเตเดเดฟเดเตเดจเตเดจเต. เดธเตเดชเตเดฑเตเดฑเดเดฌเดฑเดฟเตฝ เดเดเตเดเตพ C++ เดฑเดทเตเดฏเดฏเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดตเดฟเดตเดฐเดเตเดเตพ เดเดพเดฃเตเดเดฏเตเด เดถเตเดฐเตเดคเดพเดเตเดเดณเดพเดฏเดฟ เดฐเดเดฟเดธเตเดฑเตเดฑเตผ เดเตเดฏเตเดฏเดพเตป เดคเตเดฐเตเดฎเดพเดจเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดคเต. เดเดคเตเดคเดฐเด เดธเดฎเตเดฎเตเดณเดจเดเตเดเดณเดฟเตฝ เดชเดเตเดเตเดเตเดเตเดเตเดจเตเดจเดคเต เดเดเตเดเดณเตเดเต เดเดฆเตเดฏ เด เดจเตเดญเดตเดฎเดพเดฃเต.
เดเตเตบเดซเดฑเตปเดธเต เดเดเดจ
-
เดฑเดฟเดชเตเดชเตเตผเดเตเดเตเดเตพ
เดฐเดฃเตเดเต เดฆเดฟเดตเดธเดคเตเดคเดฟเดจเตเดณเตเดณเดฟเตฝ, เดตเดฟเดฆเดเตเดงเตผ 30 เดฑเดฟเดชเตเดชเตเตผเดเตเดเตเดเตพ เดตเดพเดฏเดฟเดเตเดเต, เดจเดฟเดฐเดตเดงเดฟ เดเตผเดเตเดเดพ เดตเดฟเดทเดฏเดเตเดเตพ เดเตพเดเตเดเตเดณเตเดณเตเดจเตเดจเต: เดชเตเดฐเดพเดฏเตเดเดฟเด เดชเตเดฐเดถเตเดจเดเตเดเตพ เดชเดฐเดฟเดนเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดญเดพเดทเดพ เดธเดตเดฟเดถเตเดทเดคเดเดณเตเดเต เดคเดจเตเดคเตเดฐเดชเดฐเดฎเดพเดฏ เดเดชเดฏเตเดเด, เดชเตเดคเดฟเดฏ เดธเตเดฑเตเดฑเดพเตปเดกเตเตผเดกเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเตเดเตเดเต เดตเดฐเดพเดจเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดญเดพเดทเดพ เด เดชเตโเดกเตเดฑเตเดฑเตเดเตพ, C++ เดฐเตเดชเดเตฝเดชเตเดชเดจเดฏเดฟเดฒเต เดตเดฟเดเตเดเตเดตเตเดดเตเดเดเตพ, เด เดตเดฏเตเดเต เด เดจเดจเตเดคเดฐเดซเดฒเดเตเดเดณเตเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดฎเตเดชเตเตพ เดฎเตเตปเดเดฐเตเดคเดฒเตเดเตพ, เดเดฆเดพเดนเดฐเดฃเดเตเดเตพ. เดฐเดธเดเดฐเดฎเดพเดฏ เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดเตผเดเตเดเดฟเดเตเดเตเดเตผ, เดเตเดเดพเดคเต เดญเดพเดทเดพ เดเตปเดซเตเดฐเดพเดธเตเดเตเดฐเดเตเดเดฑเดฟเดจเตเดฑเต เดเดฟเดฒ เด เดฃเตเดเตผ-เดฆเดฟ-เดนเตเดกเต เดตเดฟเดถเดฆเดพเดเดถเดเตเดเดณเตเด. เดฎเตเดจเตเดจเต เดชเตเดฐเดเดเดจเดเตเดเตพ เดเดฐเตเดธเดฎเดฏเด เดจเดเดจเตเดจเต, เดฎเดฟเดเตเดเดชเตเดชเตเดดเตเด เดฐเดฃเตเดเต เดฑเดทเตเดฏเตป เดญเดพเดทเดฏเดฟเดฒเตเด เดเดจเตเดจเต เดเดเดเตเดฒเตเดทเดฟเดฒเตเด.
-
เดเตผเดเตเดเดพ เดฎเตเดเดฒเดเตพ
เดชเตเดฐเดธเดเดเดคเตเดคเดฟเดจเตเดถเตเดทเด, เดเตเดฆเดฟเดเตเดเดพเดคเตเดค เดเดฒเตเดฒเดพ เดเตเดฆเตเดฏเดเตเดเดณเตเด เดชเตเตผเดคเตเดคเดฟเดฏเดพเดเดพเดคเตเดค เดเตผเดเตเดเดเดณเตเด เดธเตเดชเตเดเตเดเดฑเตเดฎเดพเดฏเตเดณเตเดณ เดเดถเดฏเดตเดฟเดจเดฟเดฎเดฏเดคเตเดคเดฟเดจเดพเดฏเดฟ เดชเตเดฐเดคเตเดฏเตเดเด เดจเดฟเดฏเตเดเตเดค เดฎเตเดเดฒเดเดณเดฟเดฒเตเดเตเดเต เดฎเดพเดฑเตเดฑเดฟ, เดฎเดพเตผเดเตเดเตผ เดฌเตเตผเดกเตเดเตพ เดธเดเตเดเตเดเดฐเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต. เดธเดเดญเดพเดทเดฃเดเตเดเตพเดเตเดเดฟเดเดฏเดฟเดฒเตเดณเตเดณ เดเดเดตเตเดณเดฏเดฟเตฝ เดธเดจเตเดคเตเดทเดเดฐเดฎเดพเดฏ เดธเดเดญเดพเดทเดฃเด เดจเดเดคเตเดคเดพเดจเตเดณเตเดณ เดจเดฒเตเดฒเตเดฐเต เดตเดดเดฟ.
-
เดฎเดฟเดจเตเดจเตฝ เดธเดเดธเดพเดฐเดเตเดเดณเตเด เด เดจเตเดชเดเดพเดฐเดฟเด เดเตผเดเตเดเดเดณเตเด
เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเต เดเตเดฑเดฟเดฏ เดฑเดฟเดชเตเดชเตเตผเดเตเดเต เดจเตฝเดเดพเตป เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดฃเตเดเตเดเตเดเดฟเตฝ, เดตเตเดเตเดจเตเดจเตเดฐเดคเตเดคเต เดฎเดฟเดจเตเดจเตฝ เดชเตเดฐเดธเดเดเดคเตเดคเดฟเดจเดพเดฏเดฟ เดตเตเดฑเตเดฑเตเดฌเตเตผเดกเดฟเตฝ เดธเตเตป เด เดชเตเดชเต เดเตเดฏเตเดฏเดพเดจเตเด เดเตเตบเดซเดฑเตปเดธเต เดตเดฟเดทเดฏเดคเตเดคเต เดเตเดฑเดฟเดเตเดเต เดเดจเตเดคเตเด เดธเดเดธเดพเดฐเดฟเดเตเดเดพเตป เด เดเตเดเต เดฎเดฟเดจเดฟเดฑเตเดฑเต เดธเดฎเดฏเด เดจเตเดเดพเดจเตเด เดเดดเดฟเดฏเตเด. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, C++ เดจเดพเดฏเตเดณเตเดณ เดธเดพเดจเดฟเดฑเตเดฑเตเดธเดฑเตเดเดณเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดเดฐเต เดฆเตเดฐเตเดค เดเดฎเตเดเด (เดเดฟเดฒเตผเดเตเดเต เดเดคเต เดชเตเดคเดฟเดฏเดคเดพเดฏเดฟเดฐเตเดจเตเดจเต) เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเตเตพเดเตเดเดพเตป เดฎเดพเดคเตเดฐเด เดเดดเดฟเดฏเตเดจเตเดจ, เดเดจเตเดจเดพเตฝ เดเดพเดฃเดพเดคเตเดค เดเดฐเต เดฌเดเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดเดฐเต เดเดฅ.
เดฎเดฑเตเดฑเตเดฐเต เดซเตเตผเดฎเดพเดฑเตเดฑเต เดชเดพเดจเตฝ เดเตผเดเตเดเดฏเดพเดฃเต "เดนเตเดฆเดฏเดคเตเดคเตเดเต เดนเตเดฆเดฏเดคเตเดคเตเดเต เดเตเดเดฟเดฏ เดธเดฎเดฟเดคเดฟ." เดธเตเดฑเตเดฑเตเดเดฟเตฝ เดธเตเดฑเตเดฑเดพเตปเดกเตเตผเดกเตเดธเตเดทเตป เดเดฎเตเดฎเดฟเดฑเตเดฑเดฟเดฏเดฟเดฒเต เดเดฟเดฒ เด เดเดเดเตเดเดณเตเดฃเตเดเต, เดชเตเดฐเตเดเดเตเดเดฑเดฟเตฝ เดเดฐเต เด เดเตเดชเตเดชเต เดเดฃเตเดเต (เดเดฆเตเดฏเตเดเดฟเดเดฎเดพเดฏเดฟ - เดเดฐเต เดเดคเตเดฎเดพเตผเดคเตเดฅเดฎเดพเดฏ เด เดจเตเดคเดฐเตเดเตเดทเด เดธเตเดทเตเดเดฟเดเตเดเดพเตป, เดชเดเตเดทเต "เดเดฒเตเดฒเดพเด เดคเตเดฏเดฟเดฒเดพเดฏเดคเดฟเดจเดพเตฝ" เดเดพเดฐเดฃเด เดฐเดธเดเดฐเดฎเดพเดฃเตเดจเตเดจเต เดคเตเดจเตเดจเตเดจเตเดจเต), C ++ เดจเตเดฑเต เดธเตเดฑเตเดฑเดพเตปเดกเตเตผเดกเดฟเดจเตเดฏเตเด เดชเตเดคเตเดตเดพเดฏ เดเดพเดดเตเดเดชเตเดชเดพเดเดฟเดจเตเดฏเตเด เดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดเตเดฆเตเดฏเดเตเดเตพ , เดเตเดเตเดฑเดฟเดฏ เดธเดพเดเตเดเตเดคเดฟเด เดเตผเดเตเดเดเดณเตเด เดนเตเดณเดฟเดตเดพเดฑเตเดเดณเตเด เดเดฒเตเดฒเดพเดคเต. เดเดจเตเดคเตเดเตเดเดฟเดฒเตเด เดชเตเตผเดฃเตเดฃเดฎเดพเดฏเดฟ เดเดฑเดชเตเดชเดฟเดฒเตเดฒเดพเดคเตเดคเดคเต เดเดจเตเดคเตเดเตเดเดฟเดฒเตเด เด เดฑเดฟเดฏเดพเดคเตเดคเดคเต เดเดฏ เดเตเดตเดจเตเดณเตเดณ เดเดณเตเดเดณเตเด เดเดฎเตเดฎเดฟเดฑเตเดฑเดฟเดฏเดฟเตฝ เดเดฃเตเดเตเดจเตเดจเต เดฎเดจเดธเตเดธเดฟเดฒเดพเดฏเดฟ.
เดนเตเดณเดฟเดตเดพเดฑเตเดเดณเตเดเต เดเดฐเดพเดงเดเตผเดเตเดเดพเดฏเดฟ, เดฎเตเดจเตเดจเดพเดฎเดคเตเดคเต เดเดตเดจเตเดฑเต เดเตเดธเดฟเตฝ เดคเตเดเตผเดจเตเดจเต - BOF เดธเตเดทเตป โGo vs. C++โ. เดเดเตเดเตพ เดเดฐเต เดเต เดชเตเดฐเตเดฎเดฟ, เดเดฐเต C++ เดเดพเดฎเตเดเดจเต เดเดเตเดเตเดเตเดจเตเดจเต, เดธเตเดทเตป เดเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เด เดตเตผ เดเดฐเตเดฎเดฟเดเตเดเต เดเดฐเต เดตเดฟเดทเดฏเดคเตเดคเดฟเตฝ 100500 เดธเตเดฒเตเดกเตเดเตพ เดคเดฏเตเดฏเดพเดฑเดพเดเตเดเตเดจเตเดจเต (C++ เดฒเต เดชเดพเดเตเดเตเดเตเดเดณเดฟเดฒเต เดชเตเดฐเดถเตโเดจเดเตเดเตพ เด เดฒเตเดฒเตเดเตเดเดฟเตฝ Go-เดฏเดฟเดฒเต เดเดจเดฑเดฟเดเตโเดธเดฟเดจเตเดฑเต เด เดญเดพเดตเด เดชเตเดฒเต), เดคเตเดเตผเดจเตเดจเต เด เดตเตผ เดคเดฎเตเดฎเดฟเตฝ เดธเดเตเดตเดฎเดพเดฏ เดเตผเดเตเดเดฏเตเด เดเดชเตเดชเด เดชเตเดฐเตเดเตเดทเดเดฐเตเดเตเดชเตเดชเด, เดชเตเดฐเตเดเตเดทเดเตผ เดเดฐเตเดธเดฎเดฏเด เดฐเดฃเตเดเต เดเดพเดดเตเดเดชเตเดชเดพเดเตเดเตพ เดฎเดจเดธเตเดธเดฟเดฒเดพเดเตเดเดพเตป เดถเตเดฐเดฎเดฟเดเตเดเตเดจเตเดจเต. เดเดฐเต เดนเตเดณเดฟเดตเตผ เดธเดจเตเดฆเตผเดญเดคเตเดคเดฟเดจเต เดชเตเดฑเดคเตเดคเดพเดฃเต เดเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเดคเตเดเตเดเดฟเตฝ, เดฎเตเดกเดฑเตเดฑเตเดฑเตผ เดเดเดชเตเดเตเดเต เดเดเตเดทเดฟเดเดณเต เด เดจเตเดฐเดเตเดเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต. เด เดซเตเตผเดฎเดพเดฑเตเดฑเต เดเดธเดเตเดคเดฟ เดเดณเดตเดพเดเตเดเตเดจเตเดจเดคเดพเดฃเต: เดเดฐเดเดญเดฟเดเตเดเต เดเตเดฑเดเตเดเต เดฎเดฃเดฟเดเตเดเตเดฑเตเดเตพเดเตเดเต เดถเตเดทเด, เดธเตเดฒเตเดกเตเดเดณเตเดเต เดชเดเตเดคเดฟ เดฎเดพเดคเตเดฐเด เดชเตเตผเดคเตเดคเดฟเดฏเดพเดฏเดฟ. เด เดตเดธเดพเดจเด เดตเดณเดฐเต เดคเตเดตเดฐเดฟเดคเดชเตเดชเตเดเตเดคเตเดคเตเดฃเตเดเดคเดพเดฏเดฟเดฐเตเดจเตเดจเต.
-
เดชเดเตเดเดพเดณเดฟ เดจเดฟเตฝเดเตเดเตเดจเตเดจเต
เดเตเตบเดซเดฑเตปเดธเดฟเดจเตเดฑเต เดชเดเตเดเดพเดณเดฟเดเดณเต เดนเดพเดณเตเดเดณเดฟเตฝ เดชเตเดฐเดคเดฟเดจเดฟเดงเตเดเดฐเดฟเดเตเดเต - เดธเตเดฑเตเดฑเดพเตปเดกเดฟเตฝ เด เดตเตผ เดจเดฟเดฒเดตเดฟเดฒเต เดชเตเดฐเตเดเดเตเดเตเดเดณเตเดเตเดเตเดฑเดฟเดเตเดเต เดธเดเดธเดพเดฐเดฟเดเตเดเต, เดเดจเตเดฑเตเตบเดทเดฟเดชเตเดชเตเดเดณเตเด เดเตเดฒเดฟเดฏเตเด เดตเดพเดเตเดฆเดพเดจเด เดเตเดฏเตเดคเต, เดเตเดตเดฟเดธเตเดเดณเตเด เดเตเดฑเดฟเดฏ เดฎเดคเตเดธเดฐเดเตเดเดณเตเด เดจเดเดคเตเดคเดฟ, เดเตเดเดพเดคเต เดจเดฒเตเดฒ เดธเดฎเตเดฎเดพเดจเดเตเดเตพ เดจเดฑเตเดเตเดเตเดเตเดชเตเดชเตเด เดจเดเดคเตเดคเดฟ. เด เดคเตเดธเดฎเดฏเด, เดเดฟเดฒ เดเดฎเตเดชเดจเดฟเดเตพ เด เดญเดฟเดฎเตเดเดคเตเดคเดฟเดจเตเดฑเต เดชเตเดฐเดพเดฐเดเดญ เดเดเตเดเดเตเดเดณเดฟเดฒเตเดเต เดเดเดจเตเดจเตเดชเตเดเดพเตป เดชเตเดฒเตเด เดตเดพเดเตเดฆเดพเดจเด เดเตเดฏเตเดคเต, เดเดคเต เดฑเดฟเดชเตเดชเตเตผเดเตเดเตเดเตพ เดเตเตพเดเตเดเดพเตป เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ เดตเดฐเตเดจเตเดจเดตเตผเดเตเดเต เดเดชเดฏเตเดเดชเตเดฐเดฆเดฎเดพเดเตเด.
เดฑเดฟเดชเตเดชเตเตผเดเตเดเตเดเดณเตเดเต เดธเดพเดเตเดเตเดคเดฟเด เดตเดฟเดถเดฆเดพเดเดถเดเตเดเตพ
เดฐเดฃเตเดเตเดฆเดฟเดตเดธเดตเตเด เดเดเตเดเตพ เดฑเดฟเดชเตเดชเตเตผเดเตเดเตเดเตพ เดถเตเดฐเดฆเตเดงเดฟเดเตเดเต. เดเดฟเดฒ เดธเดฎเดฏเดเตเดเดณเดฟเตฝ เดธเดฎเดพเดจเตเดคเดฐเดฎเดพเดฏเดตเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฐเต เดฑเดฟเดชเตเดชเตเตผเดเตเดเต เดคเดฟเดฐเดเตเดเตเดเตเดเตเดเตเดจเตเดจเดคเต เดฌเตเดฆเตเดงเดฟเดฎเตเดเตเดเดพเดฏเดฟเดฐเตเดจเตเดจเต - เดเดเดตเตเดณเดเดณเดฟเตฝ เดจเตเดเดฟเดฏ เด เดฑเดฟเดตเต เดตเดฟเดญเดเดฟเดเตเดเดพเดจเตเด เดเตเดฎเดพเดฑเดพเดจเตเด เดเดเตเดเตพ เดธเดฎเตเดฎเดคเดฟเดเตเดเต. เด เดเตเดเดจเตเดฏเดพเดฃเตเดเตเดเดฟเดฒเตเด, เดชเดฒเดคเตเด เดตเดฟเดเตเดเตเดชเตเดฏเดคเดพเดฏเดฟ เดคเตเดจเตเดจเตเดจเตเดจเต. เดเดเตเดเตพเดเตเดเต เดเดฑเตเดฑเดตเตเด เดฐเดธเดเดฐเดฎเดพเดฏเดฟ เดคเตเดจเตเดจเดฟเดฏ เดเดฟเดฒ เดฑเดฟเดชเตเดชเตเตผเดเตเดเตเดเดณเตเดเต เดเดณเตเดณเดเดเตเดเดคเตเดคเตเดเตเดเตเดฑเดฟเดเตเดเต เดเดตเดฟเดเต เดธเดเดธเดพเดฐเดฟเดเตเดเดพเตป เดเดเตเดเตพ เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเต
เดเดเดชเตเดฒเตผ เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเดจเตเดเดณเตเดเต เดชเตเดฐเดฟเดธเดคเตเดคเดฟเดฒเตเดเต C++ เดฒเต เดเดดเดฟเดตเดพเดเตเดเดฒเตเดเตพ, เดฑเตเดฎเตป เดฑเตเดธเดฏเตเดตเต
เดจเดฟเดจเตเดจเต เดธเตเดฒเตเดกเต เดเตเดฏเตเดฏเตเด
เดคเดฒเดเตเดเตเดเตเดเต เดธเตเดเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเต เดชเตเดฒเต, LLVM เดเดฐเต เดเดฆเดพเดนเดฐเดฃเดฎเดพเดฏเดฟ เดเดชเดฏเตเดเดฟเดเตเดเต เดเดดเดฟเดตเดพเดเตเดเดฒเตเดเดณเตเดเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดพเตป เดฑเตเดฎเตป เดจเตเดเตเดเดฟ. เด เดคเต เดธเดฎเดฏเด, เด เดตเดฐเตเดเต เดเตเดฒเดฟเดฏเดฟเตฝ Clang เดเดชเดฏเตเดเดฟเดเตเดเดพเดคเตเดคเดตเตผเดเตเดเต, เดเตเดกเต เดเดเตเดเดจเต เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเต เดเตเดฏเตเดฏเดพเด เดเดจเตเดจเดคเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเต เดฑเดฟเดชเตเดชเตเตผเดเตเดเดฟเดจเต เดเดชเตเดชเตเดดเตเด เดเดฟเดฒ เดเดถเดฏเดเตเดเตพ เดจเตฝเดเดพเตป เดเดดเดฟเดฏเตเด. เดเดเดชเตเดฒเดฑเตเดเดณเตเดเตเดฏเตเด เด เดจเตเดฌเดจเตเดง เดธเตเดฑเตเดฑเดพเตปเดกเตเตผเดกเต เดฒเตเดฌเตเดฐเดฑเดฟเดเดณเตเดเตเดฏเตเด เดกเตเดตเดฒเดชเตเดชเตผเดฎเดพเตผ เดชเดฐเดธเตเดชเดฐเด เดเดถเดฏเดตเดฟเดจเดฟเดฎเดฏเด เดจเดเดคเตเดคเตเดจเตเดจเดคเดฟเดจเดพเดฒเตเด เดตเดฟเดเดฏเดเดฐเดฎเดพเดฏ เดจเดฟเดฐเดตเดงเดฟ เดชเดฐเดฟเดนเดพเดฐเดเตเดเตพ เดเดคเตเดคเตเดเตเดฐเตเดจเตเดจเดคเดฟเดจเดพเดฒเตเด เดเดคเต เดธเดเดญเดตเดฟเดเตเดเตเดจเตเดจเต.
เด เดคเดฟเดจเดพเตฝ, เดเดฐเต เด เดชเดตเดพเดฆเด เดเตเดเดพเดฐเตเดฏเด เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเดเตเดเตพ เดเดฐเตเดชเดพเดเต เดเดพเดฐเตเดฏเดเตเดเตพ เดเตเดฏเตเดฏเตเดฃเตเดเดคเตเดฃเตเดเต: เดจเดฟเดฒเดตเดฟเดฒเต เดคเดฒเดคเตเดคเดฟเตฝ เดนเดพเตปเดกเตโเดฒเดฟเดเดเต เดเตเดกเต (เดเดจเตเดคเตเดเตเดเดฟเดฒเตเด เดเดฃเตเดเตเดเตเดเดฟเตฝ) เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดธเตเดเดจเตเดฏ เดเดฑเดตเดฟเดเดเตเดเตพ เดตเดฟเดณเดฟเดเตเดเต เดธเตเดฑเตเดฑเดพเดเตเดเต เดเดฏเตผเดจเตเดจเดคเต เดธเตเดชเดฟเตป เด เดชเตเดชเต เดเตเดฏเตเดฏเตเด. เดเดดเดฟเดตเดพเดเตเดเดฒเตเดเตพ เดตเดฐเตเดคเตเดคเดพเตป เดธเดพเดงเตเดฏเดคเดฏเตเดณเตเดณ เดเตเดณเตเดเตพเดเตเดเดพเดฏเดฟ เดเดเดชเตเดฒเตผ เด เดงเดฟเด เดจเดฟเตผเดฆเตเดฆเตเดถเดเตเดเตพ เดเตเตผเดเตเดเตเดจเตเดจเต เดเดจเตเดจ เดตเดธเตเดคเตเดคเดฏเดฟเดฒเตเดเตเดเต เดเดคเตเดฒเตเดฒเดพเด เดจเดฏเดฟเดเตเดเตเดจเตเดจเต. เด เดคเดฟเดจเดพเตฝ, เดเดดเดฟเดตเดพเดเตเดเตฝ เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เดเดฏเตผเดคเตเดคเดฟเดฏเดฟเดฒเตเดฒเตเดเตเดเดฟเตฝ, เดชเตเดฐเตเดเตเดฐเดพเด เดเดชเตเดชเตเดดเตเด เด เดจเดพเดตเดถเตเดฏเดฎเดพเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดจเดเดคเตเดคเตเด. เดเดตเตผเดนเตเดกเต เดเดเตเดเดจเตเดฏเตเดเตเดเดฟเดฒเตเด เดเตเดฑเดฏเตเดเตเดเตเดจเตเดจเดคเดฟเดจเต, เดเดดเดฟเดตเดพเดเตเดเตฝ เดเตเดเดพเดฐเตเดฏเด เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเตเดกเต เดเตเตผเดเตเดเตเดฃเตเดเดคเดฟเดฒเตเดฒ เด เดฒเตเดฒเตเดเตเดเดฟเตฝ "เด เดงเดฟเด" เดจเดฟเตผเดฆเตเดฆเตเดถเดเตเดเดณเตเดเต เดเดฃเตเดฃเด เดเตเดฑเดฏเตเดเตเดเดพเตป เดเดดเดฟเดฏเตเดจเตเดจ เดธเดพเดนเดเดฐเตเดฏเดเตเดเตพ เดจเดฟเตผเดฃเตเดฃเดฏเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต LLVM-เดจเต เดจเดฟเดฐเดตเดงเดฟ เดนเตเดฏเตเดฑเดฟเดธเตเดฑเตเดฑเดฟเดเตเดธเต เดเดฃเตเดเต.
เดธเตเดชเตเดเตเดเตผ เด เดตเดฏเดฟเตฝ เดเดฐเต เดกเดธเดจเตเดณเด เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเดเดฏเตเด เดชเตเดฐเตเดเตเดฐเดพเด เดจเดฟเตผเดตเตเดตเดนเดฃเด เดตเตเดเดคเตเดคเดฟเดฒเดพเดเตเดเดพเตป เดธเดนเดพเดฏเดฟเดเตเดเตเดจเตเดจ เดธเดพเดนเดเดฐเตเดฏเดเตเดเดณเตเด เด เดฐเตเดคเดฟเดเตพ เดฌเดพเดงเดเดฎเดฒเตเดฒเดพเดคเตเดค เดธเดพเดนเดเดฐเตเดฏเดเตเดเดณเตเด เดเดพเดฃเดฟเดเตเดเตเดจเตเดจเต.
เด เดเตเดเดจเต, เดฑเตเดฎเตป เดฑเตเดธเดฏเตเดตเต, เดเดดเดฟเดตเดพเดเตเดเตฝ เดเตเดเดพเดฐเตเดฏเด เดเตเดฏเตเดฏเตเดจเตเดจ เดเตเดกเต เดเดฒเตเดฒเดพเดฏเตเดชเตเดชเตเดดเตเด เดชเตเดเตเดฏเด เดเดตเตผเดนเตเดกเดฟเตฝ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเดพเตป เดเดดเดฟเดฏเดฟเดฒเตเดฒเตเดจเตเดจ เดจเดฟเดเดฎเดจเดคเตเดคเดฟเดฒเตเดเตเดเต เดตเดฟเดฆเตเดฏเดพเตผเดคเตเดฅเดฟเดเดณเต เดจเดฏเดฟเดเตเดเตเดจเตเดจเต, เดเตเดเดพเดคเต เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดเดชเดฆเตเดถเด เดจเตฝเดเตเดจเตเดจเต:
- เดฒเตเดฌเตเดฐเดฑเดฟเดเตพ เดตเดฟเดเดธเดฟเดชเตเดชเดฟเดเตเดเตเดฎเตเดชเตเตพ, เดคเดคเตเดตเดคเตเดคเดฟเตฝ เดเดดเดฟเดตเดพเดเตเดเดฒเตเดเตพ เดเดชเตเดเตเดทเดฟเดเตเดเตเดจเตเดจเดคเต เดฎเตเดฒเตเดฏเดตเดคเตเดคเดพเดฃเต;
- เดเดดเดฟเดตเดพเดเตเดเดฒเตเดเตพ เดเดชเตเดชเตเดดเตเด เดเดตเดถเตเดฏเดฎเดพเดฃเตเดเตเดเดฟเตฝ, เดธเดพเดงเตเดฏเดฎเดพเดเตเดฎเตเดชเตเดดเตเดฒเตเดฒเดพเด เดเดฒเตเดฒเดพเดฏเดฟเดเดคเตเดคเตเด noexcept (เดเดชเตเดชเด const) เดฎเตเดกเดฟเดซเดฏเดฑเตเดเตพ เดเตเตผเดเตเดเตเดจเตเดจเดคเต เดฎเตเดฒเตเดฏเดตเดคเตเดคเดพเดฃเต, เด เดคเตเดตเดดเดฟ เดเดเดชเตเดฒเดฑเดฟเดจเต เดเดดเดฟเดฏเตเดจเตเดจเดคเตเดฐ เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเต เดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเตเด.
เดชเตเดคเตเดตเต, เดเดดเดฟเดตเดพเดเตเดเดฒเตเดเตพ เดเดฑเตเดฑเดตเตเด เดเตเดฑเดเตเดเดคเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเต เดชเตเตผเดฃเตเดฃเดฎเดพเดฏเตเด เดเดชเตเดเตเดทเดฟเดเตเดเตเดจเตเดจเดคเต เดเดฏ เดตเตเดเตเดทเดฃเด เดธเตเดชเตเดเตเดเตผ เดธเตเดฅเดฟเดฐเตเดเดฐเดฟเดเตเดเต.
เดฑเดฟเดชเตเดชเตเตผเดเตเดเต เดธเตเดฒเตเดกเตเดเตพ เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฒเดฟเดเตเดเดฟเตฝ เดฒเดญเตเดฏเดฎเดพเดฃเต:
เดเดจเดฑเตเดฑเตเดฑเดฑเตเดเตพ, เดเตเดฑเตเดเตเดเดฟเดจเตเดเตพ, เดฎเดฑเตเดฑเต เดฎเดธเตเดคเดฟเดทเตเดเดคเตเดคเต เด เตบเดฑเตเตพ เดเตเดฏเตเดฏเตเดจเตเดจ เดฎเดงเตเดฐเด, เดเดฆเดฟ เดทเดพเดตเดฟเดคเตเดคเต
เดจเดฟเดจเตเดจเต เดธเตเดฒเตเดกเต เดเตเดฏเตเดฏเตเด
C++20-เดฒเต เดชเตเดคเตเดฎเดเตพเดเตเดเดพเดฏเดฟ เดธเดฎเตผเดชเตเดชเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เด เดเตเตบเดซเดฑเตปเดธเดฟเดฒเต เดจเดฟเดฐเดตเดงเดฟ เดฑเดฟเดชเตเดชเตเตผเดเตเดเตเดเดณเดฟเดฒเตเดจเตเดจเต เด เดคเดฟเดจเตเดฑเต เดตเตผเดฃเตเดฃเดพเดญเดฎเดพเดฏ เด เดตเดคเดฐเดฃเดคเตเดคเดฟเดจเต เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดถเตเดเดฐเดฃ เดชเตเดฐเตเดธเดธเตเดธเดฟเดเดเต เดฒเตเดเดฟเดเตเดเดฟเดฒเตเดณเตเดณ (เดฒเตเดชเตเดชเต, เดเตเตพเดฌเดพเดเตเดเตเดเตพเดเตเดเต) เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เดชเตเดฐเดถเตโเดจเดเตเดเตพ เดตเตเดฏเดเตเดคเดฎเดพเดฏเดฟ เดคเดฟเดฐเดฟเดเตเดเดฑเดฟเดฏเตเดจเตเดจเดคเดฟเดจเตเด เด เดตเดฟเดธเตเดฎเดฐเดฃเตเดฏเดฎเดพเดฃเต.
Adi Shavit เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต เดเดเตเดคเตเดคเตเดเดพเดฃเดฟเดเตเดเตเดจเตเดจเต: เดจเดฟเดฒเดตเดฟเตฝ เดฒเดญเตเดฏเดฎเดพเดฏ เดฐเตเดคเดฟเดเตพ เดฎเตเดดเตเดตเตป เดถเตเดเดฐเดคเตเดคเดฟเดฒเตเดเตเดฏเตเด เดเดเดจเตเดจเตเดชเตเดเตเดจเตเดจเต, เดเดฟเดฒ เดเดจเตเดคเดฐเดฟเด เดเดจเตเดฑเตผเดฎเตเดกเดฟเดฏเดฑเตเดฑเต เด เดตเดธเตเดฅเดเดณเดฟเดฒเตเดเตเดเต เดชเตเดฐเดตเตเดถเดจเด เดจเตฝเดเตเดจเตเดจเดฟเดฒเตเดฒ (เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเตเตพเดฌเดพเดเตเดเตเดเดณเตเดเต เดเดพเดฐเตเดฏเดคเตเดคเดฟเตฝ เด เดต เดเตเดฏเตเดฏเตเดจเตเดจเต, เดชเดเตเดทเต เดเตเตพเดฌเดพเดเตเดเต เดนเตเตฝ เดชเตเดฒเตเดฏเตเดณเตเดณ เด เดธเตเดเดเดฐเดฎเดพเดฏ เดชเดพเตผเดถเตเดตเดซเดฒเดเตเดเตพ เดงเดพเดฐเดพเดณเด เดเดฃเตเดเต) . เดเดตเตผเดคเตเดคเดจเดเตเดเตพ เดเดฃเตเดเตเดจเตเดจเต เดคเตเดจเตเดจเตเดจเตเดจเต, เดชเดเตเดทเต เด เดตเดฏเดฟเตฝ เดชเตเดฒเตเด เดเดฒเตเดฒเดพเด เด เดคเตเดฐ เดธเตเดเดฎเดฎเดฒเตเดฒ: เดชเตเดคเตเดตเดพเดฏ เดเตปเดเตเดฐเดฟ, เดเดเตเดธเดฟเดฑเตเดฑเต เดชเตเดฏเดฟเดจเตเดฑเตเดเดณเตเดจเตเดจเตเดฎเดฟเดฒเตเดฒ (เดเดฐเดเดญเด โ เด เดตเดธเดพเดจเด เดตเตเดดเตเดธเดธเต rbegin โ เดฑเตเตปเดกเตเด เดฎเดฑเตเดฑเตเด), เดเดเตเดเตพ เดเดคเตเดฐเดจเตเดฐเด เดเดตเตผเดคเตเดคเดฟเดเตเดเตเดฎเตเดจเตเดจเต เดตเตเดฏเดเตเดคเดฎเดฒเตเดฒ? C++20 เดฎเตเดคเตฝ, เด เดชเตเดฐเดถเตเดจเดเตเดเตพ เดชเดฐเดฟเดนเดฐเดฟเดเตเดเต!
เดเดฆเตเดฏ เดเดชเตเดทเตป: เดถเตเดฐเตเดฃเดฟเดเตพ. เดเดฑเตเดฑเดฑเตเดฑเตเดฑเดฑเตเดเตพ เดชเตเดคเดฟเดฏเตเดจเตเดจเดคเดฟเดฒเตเดเต, เดเดฐเต เดเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเตเดฑเต เดคเตเดเดเตเดเดคเตเดคเดฟเดจเตเด เด เดตเดธเดพเดจเดคเตเดคเดฟเดจเตเด เดเดฐเต เดชเตเดคเต เดเดจเตเดฑเตผเดซเตเดธเต เดฒเดญเดฟเดเตเดเตเด, เดเตเดเดพเดคเต เดฐเดเดฟเดเตเดเดพเดจเตเดณเตเดณ เดเดดเดฟเดตเตเด เดจเดฎเตเดเตเดเต เดฒเดญเดฟเดเตเดเตเด. เดเดคเตเดฒเตเดฒเดพเด เดชเตเตผเดฃเตเดฃเดฎเดพเดฏ เดกเดพเดฑเตเดฑ เดชเตเดฐเตเดธเดธเตเดธเดฟเดเดเต เดชเตเดชเตเดชเตเดฒเตเดจเตเดเตพ เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดจเตเดจเดคเต เดเดณเตเดชเตเดชเดฎเดพเดเตเดเตเดจเตเดจเต. เดเดจเตเดจเดพเตฝ เดเดฒเตเดฒเดพเด เด เดคเตเดฐ เดธเตเดเดฎเดฎเดฒเตเดฒ: เดเดฃเดเตเดเตเดเตเดเตเดเตฝ เดฒเตเดเดฟเดเตเดเดฟเดจเตเดฑเต เดเดฐเต เดญเดพเดเด เดเดฐเต เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเด เดเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเตเดฑเต เดจเดฟเตผเดตเตเดตเดนเดฃเดคเตเดคเดฟเดจเตเดณเตเดณเดฟเตฝ เดธเตเดฅเดฟเดคเดฟเดเตเดฏเตเดฏเตเดจเตเดจเต, เดเดคเต เดเตเดกเต เดฎเดจเดธเดฟเดฒเดพเดเตเดเดพเดจเตเด เดกเตเดฌเดเต เดเตเดฏเตเดฏเดพเดจเตเด เดธเดเตเดเตเตผเดฃเตเดฃเดฎเดพเดเตเดเตเด.
เดจเดฟเดจเตเดจเต เดธเตเดฒเตเดกเต เดเตเดฏเตเดฏเตเด
เดถเดฐเดฟ, เด เดธเดพเดนเดเดฐเตเดฏเดคเตเดคเดฟเตฝ, C++20 เดเตเดฑเตเดเตเดเตเดจเตเดเตพ เดเตเตผเดคเตเดคเต (เดชเตเดคเตเดคเดฃเดฟเดฒเต เดเดจเดฑเตเดฑเตเดฑเดฑเตเดเดณเตเดเต เดธเดพเดฎเตเดฏเดฎเตเดณเตเดณ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ): เดเดฐเต เดเดจเตเดฑเตผเดฎเตเดกเดฟเดฏเดฑเตเดฑเต เด เดตเดธเตเดฅ เดจเดฟเดฒเดจเดฟเตผเดคเตเดคเดฟเดเตเดเตเดฃเตเดเต เดจเดฟเดฒเดตเดฟเดฒเต เดเดฟเดฒ เดฎเตเดฒเตเดฏเดเตเดเตพ เดจเตฝเดเดฟเดเตเดเตเดฃเตเดเต เดจเดฟเตผเดตเตเดตเดนเดฃเด เดฎเดพเดฑเตเดฑเดฟเดตเดฏเตเดเตเดเดพเด. เด เดคเดฟเดจเดพเตฝ, เดฆเตเดถเตเดฏเดฎเดพเดเตเดจเตเดจ เดกเดพเดฑเตเดฑเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเด เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดเตเดฑเตเดเตเดเตเดจเดฟเดจเตเดณเตเดณเดฟเดฒเต เดเดฒเตเดฒเดพ เดฏเตเดเตเดคเดฟเดเดณเตเด เดเตพเดเตเดเตเดณเตเดณเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต.
เดเดจเตเดจเดพเตฝ เดคเตเดฒเดคเตเดคเดฟเตฝ เดเดฐเต เดเดเตเดเดฏเตเดฃเตเดเต: เดเดชเตเดชเตเตพ เด เดต เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เดเดเดชเตเดฒเดฑเตเดเตพ เดญเดพเดเดฟเดเดฎเดพเดฏเดฟ เดฎเดพเดคเตเดฐเดฎเต เดชเดฟเดจเตเดคเตเดฃเดฏเตเดเตเดเตเดจเตเดจเตเดณเตเดณเต, เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ เดเดเตเดเตพ เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเดคเตเดฐ เดญเดเดเดฟเดฏเดพเดฏเดฟ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเดฟเดฒเตเดฒ: เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดฑเดซเดฑเตปเดธเตเดเดณเตเด เดคเดพเตฝเดเตเดเดพเดฒเดฟเด เดตเดธเตเดคเตเดเตเดเดณเตเด เดเตเดฑเตเดเตเดเตเดจเตเดเดณเดฟเตฝ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเต เดเดคเตเดตเดฐเต เดตเดฟเดฒเดฎเดคเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ. เดเตเดเดพเดคเต, coroutines เดเดจเตเดคเดพเดฏเดฟเดฐเดฟเดเตเดเดพเด เดเดจเตเดจเดคเดฟเดจเต เดเดฟเดฒ เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดเตเดเดณเตเดฃเตเดเต, constexpr เดซเดเดเตโเดทเดจเตเดเตพ, เดเตบเดธเตโเดเตเดฐเดเตโเดเดฑเตเดเตพ/เดกเดฟเดธเตเดเตเดฐเดเตเดฑเตเดฑเดฑเตเดเตพ, เดฎเตเดฏเดฟเตป เดเดจเตเดจเดฟเดต เด เดฒเดฟเดธเตเดฑเตเดฑเดฟเตฝ เดเตพเดชเตเดชเตเดเตเดคเตเดคเดฟเดฏเดฟเดเตเดเดฟเดฒเตเดฒ.
เด เดคเดฟเดจเดพเตฝ, เดกเดพเดฑเตเดฑเดพ เดชเตเดฐเตเดธเดธเตเดธเดฟเดเดเต เดฒเตเดเดฟเดเตเดเดฟเดจเตเดฑเต เดฒเดพเดณเดฟเดคเตเดฏเด เดเตเดฃเตเดเต เดเตเดฑเตเดเตเดเตเดจเตเดเตพ เดชเตเดฐเดถเตเดจเดเตเดเดณเตเดเต เดเดฐเต เดชเตเดฐเดงเดพเดจ เดญเดพเดเด เดชเดฐเดฟเดนเดฐเดฟเดเตเดเตเดจเตเดจเต, เดเดจเตเดจเดพเตฝ เด เดตเดฏเตเดเต เดจเดฟเดฒเดตเดฟเดฒเต เดจเดเดชเตเดชเดพเดเตเดเดฒเตเดเตพ เดฎเตเดเตเดเดชเตเดชเตเดเตเดคเตเดคเตเดฃเตเดเดคเตเดฃเตเดเต.
เดฎเตเดฑเตเดฑเตเดฐเดฟเดฏเดฒเตเดเตพ:
- C++ เดฑเดทเตเดฏเดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดธเตเดฒเตเดกเตเดเตพ -
["เดเดจเดฑเตเดฑเตเดฑเดฑเตเดเตพ, เดเตเดฑเตเดเตเดเดฟเดจเตเดเตพ, เดฎเดฑเตเดฑเต เดฎเดธเตเดคเดฟเดทเตเดเดคเตเดคเดฟเดจเตเดฑเต เด เตบเดฑเตเตพ เดเตเดฏเตเดฏเตเดจเตเดจ เดฎเดงเตเดฐเด"] CppCon 2019-เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดฑเดฟเดชเตเดชเตเตผเดเตเดเดฟเดจเตเดฑเต เดตเตเดกเดฟเดฏเต เดฑเตเดเตเดเตเตผเดกเดฟเดเดเต
Yandex.Taxi, Anton Polukhin เดเดจเตเดจเดฟเดตเดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ C++ เดคเดจเตเดคเตเดฐเดเตเดเตพ
เดเดจเตเดฑเต เดชเตเดฐเตเดซเดทเดฃเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเดณเดฟเตฝ, เดเดฟเดฒเดชเตเดชเตเตพ เดเดจเดฟเดเตเดเต เดชเตเตผเดฃเตเดฃเดฎเดพเดฏเตเด เดธเดนเดพเดฏเดเดฎเดพเดฏ เดเดพเดฐเตเดฏเดเตเดเตพ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดฃเตเดเดฟ เดตเดฐเตเด: เดเดฟเดฒ เดฒเตเดฌเตเดฐเดฑเดฟเดฏเตเดเต เดเดจเตเดคเดฐเดฟเด เดเดจเตเดฑเตผเดซเตเดธเดฟเดจเตเด API-เดฏเตเดเตเดเตเด เดเดเดฏเดฟเดฒเตเดณเตเดณ เดเดฐเต เดฑเดพเดชเตเดชเตผ, เดฒเตเดเดฟเดเดเต เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดชเดพเดดเตเดธเดฟเดเดเต. เด เดธเดพเดนเดเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เด เดงเดฟเด เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเตป เดเดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ. เดเดจเตเดจเดพเตฝ RuNet-เดฒเต เดเดฑเตเดฑเดตเตเด เดเดจเดชเตเดฐเดฟเดฏเดฎเดพเดฏ เดเดฟเดฒ เดธเตเดตเดจเดเตเดเดณเดฟเตฝ เด เดเดเดเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเดพเดฒเต? เด เดคเตเดคเดฐเดฎเตเดฐเต เดธเดพเดนเดเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดจเดฟเดเตเดเตพเดเตเดเต เดฎเดฃเดฟเดเตเดเตเดฑเดฟเตฝ เดเตเดฑเดพเดฌเตเดฑเตเดฑเตเดเตพ เดฎเดพเดคเตเดฐเด เดฒเตเดเตเดเตพ เดชเตเดฐเตเดธเดธเตเดธเต เดเตเดฏเตเดฏเตเดฃเตเดเดฟเดตเดฐเตเด! เด เดชเตเดชเตเตพ เดเดฐเต เดฎเดฟเดฒเตเดฒเดฟเดธเตเดเตเดเตปเดกเตเด เดเดฃเดเตเดเดพเดเตเดเตเดจเตเดจเต, เด เดคเดฟเดจเดพเตฝ เดจเดฟเดเตเดเตพ เดตเดฟเดตเดฟเดง เดคเดจเตเดคเตเดฐเดเตเดเตพ เด เดตเดฒเดเดฌเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต - เดเดจเตเดฑเตบ เดชเตเดฒเตเดเดฟเตป เด เดตเดฐเตเดเตเดเตเดฑเดฟเดเตเดเต เดธเดเดธเดพเดฐเดฟเดเตเดเต.
เดเดฐเตเดชเดเตเดทเต เดเดฑเตเดฑเดตเตเด เดฐเดธเดเดฐเดฎเดพเดฏ เดเดฆเดพเดนเดฐเดฃเด เดชเตเดฏเดฟเดจเตเดฑเตผ-เดเต-เดเดเดชเตเดฒเดฟเดฎเตเดจเตเดฑเตเดทเตป (pimpl) เดชเดพเดฑเตเดฑเตเตบ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเดฟเดฏเดคเดพเดฃเต.
#include <third_party/json.hpp> //PROBLEMS!
struct Value {
Value() = default;
Value(Value&& other) = default;
Value& operator=(Value&& other) = default;
~Value() = default;
std::size_t Size() const { return data_.size(); }
private:
third_party::Json data_;
};
เด เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ, เดเดฆเตเดฏเด เดเดพเตป เดฌเดพเดนเตเดฏ เดฒเตเดฌเตเดฐเดฑเดฟเดเดณเตเดเต เดคเดฒเดเตเดเตเดเตเดเต เดซเดฏเดฒเตเดเตพ เดเดดเดฟเดตเดพเดเตเดเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเต - เดเดคเต เดตเตเดเดคเตเดคเดฟเตฝ เดเดเดชเตเตฝ เดเตเดฏเตเดฏเตเด, เดเตเดเดพเดคเต เดธเดพเดงเตเดฏเดฎเดพเดฏ เดจเดพเดฎ เดตเตเดฐเตเดฆเตเดงเตเดฏเดเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเตเด เดฎเดฑเตเดฑเต เดธเดฎเดพเดจ เดชเดฟเดถเดเตเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเตเด เดจเดฟเดเตเดเตพเดเตเดเต เดธเตเดตเดฏเด เดชเดฐเดฟเดฐเดเตเดทเดฟเดเตเดเดพเด.
เดถเดฐเดฟ, เดเดเตเดเตพ .cpp เดซเดฏเดฒเดฟเดฒเตเดเตเดเต #include เดจเตเดเตเดเดฟ: เดชเตเดคเดฟเดเตเด API เดฏเตเดเต เดซเตเตผเดตเตเดกเต เดกเดฟเดเตเดฒเดฑเตเดทเดจเตเด std::unique_ptr-เดเด เดเดเตเดเตพเดเตเดเต เดเดตเดถเตเดฏเดฎเดพเดฃเต. เดเดชเตเดชเตเตพ เดเดเตเดเตพเดเตเดเต เดกเตเดจเดพเดฎเดฟเดเต เด เดฒเตเดเตเดเตเดทเดจเตเดเดณเตเด เดฎเดฑเตเดฑเต เด เดธเตเดเดเดฐเดฎเดพเดฏ เดเดพเดฐเตเดฏเดเตเดเดณเตเด เดกเดพเดฑเตเดฑเดฏเตเดเต เดเดฐเต เดเตเดเตเดเดคเตเดคเดฟเตฝ เดเดฟเดคเดฑเดฟเดเตเดเดฟเดเดเตเดเตเดจเตเดจ เดกเดพเดฑเตเดฑเดฏเตเด เดเตเดฑเดเตเด เดเตเดฏเดพเดฐเดฃเตเดเดฟเดเดณเตเด เดเดฃเตเดเต. std::aligned_storage เดเดคเดฟเดจเตเดฒเตเดฒเดพเด เดธเดนเดพเดฏเดฟเดเตเดเตเด.
struct Value {
// ...
private:
using JsonNative = third_party::Json;
const JsonNative* Ptr() const noexcept;
JsonNative* Ptr() noexcept;
constexpr std::size_t kImplSize = 32;
constexpr std::size_t kImplAlign = 8;
std::aligned_storage_t<kImplSize, kImplAlign> data_;
};
เดเดฐเตเดฏเตเดฐเต เดชเตเดฐเดถเตเดจเด: เดเดฐเต เดฑเดพเดชเตเดชเดฑเดฟเดจเตเด เดตเดฒเตเดชเตเดชเดตเตเด เดตเดฟเดจเตเดฏเดพเดธเดตเตเด เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต - เดจเดฎเตเดเตเดเต เดเดจเตเดจ เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเต เดเดเตเดเดณเตเดเต pimpl เดเตเดเดชเตเดฒเตเดฑเตเดฑเต เดเดฃเตเดเดพเดเตเดเดพเด, เดเดฟเดฒ เด เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดคเดฎเดพเดฏ เดฎเตเดฒเตเดฏเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเด, เดเดเตเดเตพ เดเดฒเตเดฒเดพเด เดถเดฐเดฟเดฏเดพเดฃเตเดจเตเดจเต เดเดนเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดกเดฟเดธเตเดเตเดฐเดเตเดฑเตเดฑเดฑเดฟเดฒเตเดเตเดเต เดเดฐเต เดเตเดเตเดเต เดเตเตผเดเตเดเตเด. :
~FastPimpl() noexcept {
validate<sizeof(T), alignof(T)>();
Ptr()->~T();
}
template <std::size_t ActualSize, std::size_t ActualAlignment>
static void validate() noexcept {
static_assert(
Size == ActualSize,
"Size and sizeof(T) mismatch"
);
static_assert(
Alignment == ActualAlignment,
"Alignment and alignof(T) mismatch"
);
}
เดกเดฟเดธเตเดเตเดฐเดเตเดฑเตเดฑเตผ เดชเตเดฐเตเดธเดธเตเดธเต เดเตเดฏเตเดฏเตเดฎเตเดชเตเตพ T เดเดคเดฟเดจเดเด เดจเดฟเตผเดตเดเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเดพเตฝ, เด เดเตเดกเต เดถเดฐเดฟเดฏเดพเดฏเดฟ เดชเดพเดดเตโเดธเต เดเตเดฏเตเดฏเดชเตเดชเตเดเตเด, เดเตเดเดพเดคเต เดเดเดชเตเดฒเตเดทเตป เดเดเตเดเดคเตเดคเดฟเตฝ เด เดคเต เดชเดฟเดถเดเตเดเดณเดพเดฏเดฟ เดจเตฝเดเตเดฃเตเด เดเดตเดถเตเดฏเดฎเดพเดฏ เดตเดฒเตเดชเตเดชเดตเตเด เดตเดฟเดจเตเดฏเดพเดธ เดฎเตเดฒเตเดฏเดเตเดเดณเตเด เดเดเตเดเตเดชเตเดเตเดเต เดเตเดฏเตเดฏเตเด. เด เดเตเดเดจเต, เดเดฐเต เด เดงเดฟเด เดเดเดชเตเดฒเตเดทเตป เดฑเดฃเตเดฃเดฟเดจเตเดฑเต เดเตเดฒเดตเดฟเตฝ, เดชเตเดคเดฟเดเตเด เดเตเดฒเดพเดธเตเดเดณเตเดเต เดเดฒเดจเดพเดคเตเดฎเด เด เดฒเตเดเตเดเตเดทเดจเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดเตเดเตพ เดฐเดเตเดทเดชเตเดชเตเดเตเดจเตเดจเต, เดจเดเดชเตเดชเดพเดเตเดเดฒเดฟเดจเตเดชเตเดชเด เดเดฐเต .cpp เดซเดฏเดฒเดฟเตฝ API เดฎเดฑเดฏเตโเดเตเดเตเดจเตเดจเต, เดเตเดเดพเดคเต เดชเตเดฐเตเดธเดธเตเดธเตผ เดเดพเดทเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เดเตเดเตเดคเตฝ เด เดจเตเดฏเตเดเตเดฏเดฎเดพเดฏ เดเดฐเต เดกเดฟเดธเตเตป เดจเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต.
เดฒเตเดเดฟเดเดเตเด เดชเดพเดดเตโเดธเดฟเดเดเตเด เด เดคเตเดฐ เดเดเตผเดทเดฃเตเดฏเดฎเดฒเตเดฒ, เด เดคเดฟเดจเดพเตฝ เด เด เดตเดฒเตเดเดจเดคเตเดคเดฟเตฝ เดชเดฐเดพเดฎเตผเดถเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ.
เดฑเดฟเดชเตเดชเตเตผเดเตเดเต เดธเตเดฒเตเดกเตเดเตพ เดเดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฒเดฟเดเตเดเดฟเตฝ เดฒเดญเตเดฏเดฎเดพเดฃเต:
เดจเดฟเดเตเดเดณเตเดเต เดเตเดกเต เดกเตเดฐเต เดเดฏเดฟ เดธเตเดเตเดทเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดงเตเดจเดฟเด เดธเดพเดเตเดเตเดคเดฟเด เดตเดฟเดฆเตเดฏเดเตพ, Bjรถrn Fahller
เด เดธเดเดญเดพเดทเดฃเดคเตเดคเดฟเตฝ, เดเดตเตผเดคเตเดคเดฟเดเตเดเตเดณเตเดณ เด เดตเดธเตเดฅ เดชเดฐเดฟเดถเตเดงเดจเดเดณเตเดเต เดถเตเดฒเตเดชเดฐเดฎเดพเดฏ เดชเดฟเดดเดตเดฟเดจเตเดคเดฟเดฐเต เดชเตเดฐเดพเดเตเดจเตเดจเดคเดฟเดจเต Bjรถrn Fahller เดตเดฟเดตเดฟเดง เดฎเดพเตผเดเดเตเดเตพ เดเดพเดฃเดฟเดเตเดเตเดจเตเดจเต:
assert(a == IDLE || a == CONNECTED || a == DISCONNECTED);
เดชเดฐเดฟเดเดฟเดคเดฎเดพเดฏ เดถเดฌเตเดฆเด? เดธเดฎเตเดชเดเดพเดฒ เดธเตเดฑเตเดฑเดพเตปเดกเตเตผเดกเตเดเดณเดฟเตฝ เด เดตเดคเดฐเดฟเดชเตเดชเดฟเดเตเด เดจเดฟเดฐเดตเดงเดฟ เดถเดเตเดคเดฎเดพเดฏ C++ เดเตเดเตเดจเดฟเดเตเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดฒเตเดเต, เดชเตเตผเดซเตเดฎเตปเดธเต เดชเตเดจเดพเตฝเดฑเตเดฑเดฟเดฏเดฟเดฒเตเดฒเดพเดคเต เดจเดฟเดเตเดเตพเดเตเดเต เด เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด เดญเดเดเดฟเดฏเดพเดฏเดฟ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเดพเตป เดเดดเดฟเดฏเตเด. เดคเดพเดฐเดคเดฎเตเดฏเด เดเตเดฏเตเดฏเตเด:
assert(a == any_of(IDLE, CONNECTED, DISCONNECTED));
เดธเตเดฅเดฟเดฐเตเดเดฐเดฟเดเตเดเดพเดคเตเดค เดเดฃเตเดฃเด เดเตเดเตเดเตเดเตพ เดเตเดเดพเดฐเตเดฏเด เดเตเดฏเตเดฏเดพเตป, เดจเดฟเดเตเดเตพ เดเดเดจเดเดฟ เดตเตเดฐเดฟเดฏเดพเดกเดฟเดเต เดเตเดเดชเตเดฒเตเดฑเตเดฑเตเดเดณเตเด เดซเตเตพเดกเต เดเดเตเดธเตเดชเตเดฐเดทเดจเตเดเดณเตเด เดเดชเดฏเตเดเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต. enum เดจเตเดฑเต state_type เดเดฒเดฎเตเดจเตเดฑเดฟเดฒเตเดเตเดเต เดจเดฟเดฐเดตเดงเดฟ เดตเตเดฐเดฟเดฏเดฌเดฟเดณเตเดเดณเตเดเต เดคเตเดฒเตเดฏเดค เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเดพเตป เดเดเตเดเตพ เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเตเดตเตเดจเตเดจเต เดเดฐเตเดคเตเด. เดเดฐเต เดนเตเตฝเดชเตเดชเตผ เดซเดเดเตโเดทเตป เดเดดเตเดคเตเด เดเดจเตเดจเดคเดพเดฃเต เดเดฆเตเดฏเด เดฎเดจเดธเตเดธเดฟเตฝ เดตเดฐเตเดจเตเดจเดคเต_เดเดคเตเดเตเดเดฟเดฒเตเด_เดเดซเต:
enum state_type { IDLE, CONNECTED, DISCONNECTED };
template <typename ... Ts>
bool is_any_of(state_type s, const Ts& ... ts) {
return ((s == ts) || ...);
}
เด เดเดจเตเดฑเตผเดฎเตเดกเดฟเดฏเดฑเตเดฑเต เดซเดฒเด เดจเดฟเดฐเดพเดถเดพเดเดจเดเดฎเดพเดฃเต. เดเดคเตเดตเดฐเต เดเตเดกเต เดเตเดเตเดคเตฝ เดตเดพเดฏเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเดจเตเดจเดฟเดฒเตเดฒ:
assert(is_any_of(state, IDLE, DISCONNECTING, DISCONNECTED));
เดจเตเตบ-เดเตเดชเตเดชเต เดเตเดเดชเตเดฒเตเดฑเตเดฑเต เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเตพ เดธเดพเดนเดเดฐเตเดฏเด เด เตฝเดชเตเดชเด เดฎเตเดเตเดเดชเตเดชเตเดเตเดคเตเดคเดพเตป เดธเดนเดพเดฏเดฟเดเตเดเตเด. เด เดตเดฐเตเดเต เดธเดนเดพเดฏเดคเตเดคเตเดเต, เดเดเตเดเตพ เดเตเดเดชเตเดฒเตเดฑเตเดฑเต เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเดณเตเดเต เดชเดเตเดเดฟเดเดฏเดฟเดฒเตเดเตเดเต enum-เดจเตเดฑเต เดเดฃเตเดฃเดพเดตเตเดจเตเดจ เดเดเดเดเตเดเตพ เดฎเดพเดฑเตเดฑเตเด:
template <state_type ... states>
bool is_any_of(state_type t) {
return ((t == states) | ...);
}
assert(is_any_of<IDLE, DISCONNECTING, DISCONNECTED>(state));
เดจเตเตบ-เดเตเดชเตเดชเต เดเตเดเดชเตเดฒเตเดฑเตเดฑเต เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเดฟเตฝ (C++17) เดธเตเดตเดฏเดฎเตเดต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดฒเตเดเต, เดธเตเดฑเตเดฑเตเดฑเตเดฑเต_เดเตเดชเตเดชเต เดเดเดเดเตเดเดณเตเดฎเดพเดฏเดฟ เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดจเตเตบ-เดเตเดชเตเดชเต เดเตเดเดชเตเดฒเตเดฑเตเดฑเต เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเดณเดพเดฏเดฟ เดเดชเดฏเตเดเดฟเดเตเดเดพเดตเตเดจเตเดจ เดชเตเดฐเดพเดเตเดค เดคเดฐเดเตเดเดณเตเดฎเดพเดฏเตเดณเตเดณ เดคเดพเดฐเดคเดฎเตเดฏเดคเตเดคเดฟเดฒเตเดเตเดเต เดธเดฎเตเดชเดจเด เดธเดพเดฎเดพเดจเตเดฏเดตเตฝเดเตเดเดฐเดฟเดเตเดเตเดจเตเดจเต:
template <auto ... alternatives, typename T>
bool is_any_of(const T& t) {
return ((t == alternatives) | ...);
}
เด เดคเตเดเตผเดเตเดเดฏเดพเดฏ เดฎเตเดเตเดเดชเตเดชเตเดเตเดคเตเดคเดฒเตเดเดณเดฟเดฒเตเดเต, เดเตเดเตเดเตเดเตพเดเตเดเดพเดฏเดฟ เดเดตเดถเตเดฏเดฎเตเดณเตเดณ เดเดดเตเดเตเดเตเดณเตเดณ เดตเดพเดเตเดฏเดเดเดจ เดเตเดตเดฐเดฟเดเตเดเตเดจเตเดจเต:
template <class ... Ts>
struct any_of : private std::tuple<Ts ...> {
// ะฟะพะปะตะฝะธะผัั ะธ ัะฝะฐัะปะตะดัะตะผ ะบะพะฝััััะบัะพัั ะพั tuple
using std::tuple<Ts ...>::tuple;
template <typename T>
bool operator ==(const T& t) const {
return std::apply(
[&t](const auto& ... ts) {
return ((ts == t) || ...);
},
static_cast<const std::tuple<Ts ...>&>(*this));
}
};
template <class ... Ts>
any_of(Ts ...) -> any_of<Ts ... >;
assert(any_of(IDLE, DISCONNECTING, DISCONNECTED) == state);
เด เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ, เดเตบเดธเตเดเตเดฐเดเตเดฑเตเดฑเตผ เดเตผเดเตเดฏเตเดฎเตเดจเตเดฑเตเดเดณเตเดเต เดคเดฐเดเตเดเตพ เด เดฑเดฟเดฏเดพเดตเตเดจเตเดจ เดเดฎเตเดชเตเดฒเดฑเดฟเดจเต เดเดตเดถเตเดฏเดฎเตเดณเตเดณ เดเดเดจ เดเตเดเดชเตเดฒเตเดฑเตเดฑเต เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเตพ เดจเดฟเตผเดฆเตเดฆเตเดถเดฟเดเตเดเดพเตป เดเดฟเดดเดฟเดตเต เดเตเดกเต เดธเดนเดพเดฏเดฟเดเตเดเตเดจเตเดจเต.
เดเตเดเตเดคเตฝ - เดเตเดเตเดคเตฝ เดฐเดธเดเดฐเดฎเดพเดฃเต. เดคเดคเตเดซเดฒเดฎเดพเดฏเตเดฃเตเดเดพเดเตเดจเตเดจ เดเตเดกเต == เดเดจเตเดจเดคเดฟเดจเดชเตเดชเตเดฑเดฎเตเดณเตเดณ เดคเดพเดฐเดคเดฎเตเดฏ เดเดชเตเดชเดฑเตเดฑเตเดฑเตผเดฎเดพเตผเดเตเดเตเด เดคเตเดเตผเดจเตเดจเต เด เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดคเดฎเดพเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพเดเตเดเตเด เดเดเตเดเดจเต เดธเดพเดฎเดพเดจเตเดฏเดตเดคเตเดเดฐเดฟเดเตเดเดพเดฎเตเดจเตเดจเต Bjorn เดชเด เดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต. เดตเดดเดฟเดฏเดฟเตฝ, no_unique_address เดเดเตเดฐเดฟเดฌเตเดฏเตเดเตเดเตเด (C++20) เดฒเดพเดเดก เดซเดเดเตเดทเดจเตเดเดณเดฟเดฒเต เดเตเดเดชเตเดฒเตเดฑเตเดฑเต เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเดณเตเด (C++20) เดเดชเดฏเตเดเดคเตเดคเดฟเดจเตเดฑเต เดเดฆเดพเดนเดฐเดฃเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเต เดตเดฟเดถเดฆเตเดเดฐเดฟเดเตเดเตเดจเตเดจเต. (เด เดคเต, เดเดชเตเดชเตเตพ เดฒเดพเดเดก เดตเดพเดเตเดฏเดเดเดจ เดเตผเดเตเดเดพเตป เดตเดณเดฐเต เดเดณเตเดชเตเดชเดฎเดพเดฃเต - เดเดต เดเดฒเตเดฒเดพ เดคเดฐเดคเตเดคเดฟเดฒเตเดฎเตเดณเตเดณ เดคเตเดเตผเดเตเดเดฏเดพเดฏ เดจเดพเดฒเต เดเตเดกเดฟ เดชเดฐเดพเตปเดคเตเดธเดฟเดธเตเดเดณเดพเดฃเต.) เดเตบเดธเตเดเตเดฐเดเตโเดเตผ เดตเดฟเดถเดฆเดพเดเดถเดเตเดเดณเดพเดฏเดฟ เดซเดเดเตโเดทเดจเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดณเตเดณ เด เดจเตเดคเดฟเดฎ เดชเดฐเดฟเดนเดพเดฐเด เดเดจเตเดฑเต เดเดคเตเดฎเดพเดตเดฟเดจเต เดถเดฐเดฟเดเตเดเตเด เดเตเดเดพเดเตเดเตเดจเตเดจเต, เดฒเดพเดเดกเดฏเตเดเต เดฎเดฟเดเดเตเด เดชเดพเดฐเดฎเตเดชเดฐเตเดฏเดเตเดเดณเดฟเดฒเต เดเตเดฏเตเดชเตเดชเดฟเตพ เดเดจเตเดจ เดชเดฆเดชเตเดฐเดฏเตเดเด เดชเดฐเดพเดฎเตผเดถเดฟเดเตเดเตเดฃเตเดเดคเดฟเดฒเตเดฒ. เดเดพเตฝเดเตเดเตเดฒเดธเต.
เด เดตเดธเดพเดจเด, เด เดคเต เดฎเดฟเดจเตเดธเดชเตเดชเตเดเตเดคเตเดคเดพเตป เดฎเดฑเดเตเดเดฐเตเดคเต:
- เดฒเดพเดเดกเดเตพ เดธเตเดเดจเตเดฏเดฎเดพเดฏเดฟ constexpr เดเดฃเตเดจเตเดจเต เดเตผเดเตเดเตเด;
- เดจเดฎเตเดเตเดเต เดคเดฟเดเดเตเด เดซเตเตผเดตเตเดกเดฟเดเดเต เดเตเตผเดเตเดเตเดเดฏเตเด เดฒเดพเดเดก เดเตเดฒเตเดทเดฑเดฟเดฒเต เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเตผ เดชเดพเดฏเตเดเตเดเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเตเดเตเดเต เด เดคเดฟเดจเตเดฑเต เดตเตเดคเตเดคเดฟเดเตเดเตเด เดตเดพเดเตเดฏเดเดเดจ เดจเตเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเดพเด;
- เดเดเดชเตเดฒเดฑเดฟเดจเต เดธเตเดชเดพเดงเดฟเดเดฎเดพเดฏ เดจเตเดเดเตเดธเตเดชเตเดฑเตเดฑเต เดเดณเตเดณ เดเดชเตเดฑเตเดฑเดฟเดฎเตเดธเตเดทเดจเตเดเตพเดเตเดเดพเดฏเดฟ เดเตเดเตเดคเตฝ เด เดตเดธเดฐเดเตเดเตพ เดจเตฝเดเดพเด;
- เดฒเดพเดเดกเดพเดธเดฟเดจเตเดฑเต เดตเตเดฏเดเตเดคเดฎเดพเดฏ เดฑเดฟเดเตเดเตเตบ เดฎเตเดฒเตเดฏเดเตเดเตพเดเตเดเต เดจเดจเตเดฆเดฟ, เดเตเดเดชเตเดฒเตเดฑเตเดฑเตเดเดณเดฟเตฝ เดเตเดเตเดคเตฝ เดฎเดจเดธเตเดธเดฟเดฒเดพเดเตเดเดพเดตเตเดจเตเดจ เดชเดฟเดถเดเต เดเดเตเดเตเดชเตเดเตเดเต เดจเดฎเตเดเตเดเต เดถเตเดฐเดฆเตเดงเดฟเดเตเดเดพเด. เดเดคเต เดเตเดเดชเตเดฒเตเดฑเตเดฑเต เดซเดเดเตโเดทเดจเต เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เดตเดฟเดณเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เดเตเดเตเดคเตฝ เดชเดฐเดฟเดถเตเดงเดจเดเตพ เดจเดเดคเตเดคเดพเตป เดเดเดชเตเดฒเดฑเดฟเดจเต เดชเตเดฐเตเดฐเดฟเดชเตเดชเดฟเดเตเดเตเด - เดเตเดชเตเดชเต เดเตเดเตเดเดฟเดเดเต เดเดเตเดเดคเตเดคเดฟเตฝ.
เดตเดฟเดถเดฆเดพเดเดถเดเตเดเตพเดเตเดเต, เดชเตเดฐเดญเดพเดทเดฃ เดธเดพเดฎเดเตเดฐเดฟเดเตพ เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด:
- เดธเตเดฒเตเดกเตเดเตพ เดฑเดฟเดชเตเดชเตเตผเดเตเดเต เดเตเดฏเตเดฏเตเด:
[เดจเดฟเดเตเดเดณเตเดเต เดเตเดกเต เดตเดฐเดฃเตเดเดคเดพเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดงเตเดจเดฟเด เดธเดพเดเตเดเตเดคเดฟเด เดตเดฟเดฆเตเดฏเดเตพ] เดเดฟเดคเตเดคเดฌเดฟเดฒเต เดเดฑเดตเดฟเด เดเตเดกเต เดฐเดเดฏเดฟเดคเดพเดตเดฟเดจเตเดฑเต เดฌเตเดฒเตเดเต เดฒเตเดเดจเด
เดเดเตเดเดณเตเดเต เดเดเดชเตเดฐเดทเดจเตเดเตพ
C++ เดฑเดทเตเดฏเดฏเดฟเดฒเต เดเดเตเดเดณเตเดเต เดเดฆเตเดฏ เดชเดเตเดเดพเดณเดฟเดคเตเดคเด เด เดคเดฟเดจเตเดฑเต เดคเตเดตเตเดฐเดคเดฏเดพเตฝ เด เดตเดฟเดธเตเดฎเดฐเดฃเตเดฏเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต. เดชเดฐเดฟเดถเตเดฒเดจเดคเตเดคเดฟเดจเตเด เดคเดคเตเดธเดฎเดฏ เดเดถเดฏเดตเดฟเดจเดฟเดฎเดฏเดคเตเดคเดฟเดจเตเด เดเดเดฏเดฟเดฒเตเดณเตเดณ เดฒเตเตป เดเดคเดพเดฃเตเดเต เด เดฆเตเดถเตเดฏเดฎเดพเดฏ เดเดฐเต เดเดคเตเดฎเดพเตผเดคเตเดฅ เดธเดเดญเดตเดฎเดพเดฏเดฟ เดเดจเดฟเดเตเดเต C++ เดฑเดทเตเดฏเดฏเตเดเต เดฎเดคเดฟเดชเตเดชเต เดฒเดญเดฟเดเตเดเต. เดชเตเดฐเดธเดเดเดเดฐเตเดเต เดฎเตเดกเต เดฎเตเดคเตฝ เดเดตเดจเตเดฑเต เดชเดพเตผเดเตเดฃเตผเดฎเดพเดฐเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดฎเดคเตเดธเดฐเดเตเดเตพ เดตเดฐเต เดเดฒเตเดฒเดพเด เดเตเดเตเดฑเดฟเดฏ เดเตผเดเตเดเดเตพเดเตเดเต เดธเดนเดพเดฏเดเดฎเดพเดฃเต. เดฑเดฟเดชเตเดชเตเตผเดเตเดเตเดเตพ เด เดเดเตเดเตเดจเตเดจ เดเตเตบเดซเดฑเตปเดธเดฟเดจเตเดฑเต เดเดณเตเดณเดเดเตเดเด, C++ เดเดฃเตเดเตเดชเดฟเดเตเดคเตเดคเดเตเดเตพ, เดตเดฒเดฟเดฏ เดชเตเดฐเตเดเดเตเดฑเตเดฑเตเดเดณเตเดเต เดเตเดธเต เดชเด เดจเดเตเดเตพ, เดชเตเดฐเดคเตเดฏเดฏเดถเดพเดธเตเดคเตเดฐเดชเดฐเดฎเดพเดฏ เดตเดพเดธเตเดคเตเดตเดฟเดฆเตเดฏเดพ เดชเดฐเดฟเดเดฃเดจเดเตพ เดเดจเตเดจเดฟเดตเดฏเตเตพเดชเตเดชเตเดเต เดตเดฟเดชเตเดฒเดฎเดพเดฏ เดตเดฟเดทเดฏเดเตเดเตพ เดเตพเดเตเดเตเดณเตเดณเตเดจเตเดจเต. เดเดจเตเดจเดพเตฝ เดเดตเดจเตเดฑเดฟเดจเตเดฑเต เดธเดพเดฎเตเดนเดฟเด เดเดเดเดคเตเดคเต เด เดตเดเดฃเดฟเดเตเดเตเดจเตเดจเดคเต เด เดจเตเดฏเดพเดฏเดฎเดพเดฏเดฟเดฐเดฟเดเตเดเตเด, เดเดคเต C++ เดจเต เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดญเดพเดทเดพ เดคเดเดธเตเดธเดเตเดเดณเต เดฎเดฑเดฟเดเดเดเตเดเดพเตป เดธเดนเดพเดฏเดฟเดเตเดเตเดจเตเดจเต.
เดเดคเตเดคเดฐเดฎเตเดฐเต เดชเดฐเดฟเดชเดพเดเดฟเดฏเดฟเตฝ เดชเดเตเดเตเดเตเดเตเดเดพเตป เด
เดตเดธเดฐเด เดจเตฝเดเดฟเดฏเดคเดฟเดจเต เดเตเตบเดซเดฑเตปเดธเต เดธเดเดเดพเดเดเตผเดเตเดเต เดเดเตเดเตพ เดจเดจเตเดฆเดฟ เดชเดฑเดฏเตเดจเตเดจเต!
C++ เดฑเดทเตเดฏเดฏเตเดเต เดญเตเดคเดเดพเดฒเดคเตเดคเตเดฏเตเด เดตเตผเดคเตเดคเดฎเดพเดจเดคเตเดคเตเดฏเตเด เดญเดพเดตเดฟเดฏเตเดฏเตเด เดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดธเดเดเดพเดเดเดฐเตเดเต เดชเตเดธเตเดฑเตเดฑเต เดจเดฟเดเตเดเตพ เดเดฃเตเดเดฟเดฐเดฟเดเตเดเดพเด
เดตเดพเดฏเดฟเดเตเดเดคเดฟเดจเต เดจเดจเตเดฆเดฟ, เดเดเตเดเดณเตเดเต เดธเดเดญเดตเดเตเดเดณเตเดเต เดชเตเดจเดฐเดพเดเตเดฏเดพเดจเด เดธเดนเดพเดฏเดเดฐเดฎเดพเดฃเตเดจเตเดจเต เดเดเตเดเตพ เดชเตเดฐเดคเตเดเตเดทเดฟเดเตเดเตเดจเตเดจเต!
เด
เดตเดฒเดเดฌเด: www.habr.com