写括号更好,使用时可以这样:
AreaSize({...})
【 在 ziqin (子青|会挽雕弓如满月|西北望|射天狼) 的大作中提到: 】
: 标 题: Re: 这个怎么理解?
: 发信站: 水木社区 (Tue Dec 14 13:36:57 2021), 站内
:
: 这是很正常的需求
:
: 比如,计算面积, T是存几何体定义的结构,可能是简单的aggregates,可能是复杂的拓扑结构,如果是三角形,就是简单三个点的坐标,初始化T,显然用{}。如果是复杂的,比如说椭圆之类,是用圆心+半径之类经过计算定义的,那就是ctor,用(),如果{}不兼容(),那这个模板就很复杂了。
:
:
: template<typename T, typename ...ArgT>
: constexpr int AreaSize(ArgT args...)
: {
: return T{args...}.area();
: }
:
: 【 在 here080 的大作中提到: 】
: : 这种需求本身有问题。你不妨举一个具体一点的例子?
: :
:
: --
:
: ※ 来源:·水木社区
http://www.mysmth.net·[FROM: 115.193.191.*]
--
FROM 73.15.185.*