你能解释一个你这个“构造参数”跟“模板参数”有什么不一样的?
【 在 likely (thinker) 的大作中提到: 】
: 标 题: Re: how c++20 change the way wcode
: 发信站: 水木社区 (Fri Jan 8 13:37:59 2021), 站内
:
: 既然做成带类型的Python了,容器模板就不一定是必需的了。可以用类型作为构造参数而不是模板参数:
: list(int) ints = [0, 1, 2];
: ints.push_back(3);
: 编译器直接检查类型,因为编译器知道list(int)的意思。
: 写程序时,list的方法参数都用接口指定类型,例如copy_construtible。原先模板参数实际上没有协议约束,但实际上容器内部可能是有潜规则的,不满足潜规则就可能出错。用接口指定类型后既满足了强类型的要求,又把规则都明示了。
: 现在C++就是扭扭捏捏一步步学Python的features,要是它真能变成一个编译型的Python就好了,强强联手,都能发展得更好。
:
: 【 在 hgoldfish 的大作中提到: 】
: : 我正在思考这个方向,但没那么简单啊。
: : Python 通过反射和 metaclass 这些技巧,让编程变得简单。
: : 而 C++,不管你用什么语法,为了运行效率考虑,都需要类似于宏或者模板。不然搞定不了 list<int> 这种数据类型。
: : ...................
:
: --
:
: ※ 来源:·水木社区
http://www.newsmth.net·[FROM: 123.114.39.*]
--
FROM 76.126.252.*