C# 9+ 知道从 LHS 推断出 RHS 的类型,只需New
使用正确的参数进行调用并获得您的对象。无需重复冗长的类型,并且类型始终正确
List<int> ints = New(capacity: 10_000);
Run Code Online (Sandbox Code Playgroud)
可以同样DRY吗new
在 C++ 中可以完成
我有类似的东西使用“安全”new 和删除,将目标作为参数并使用模板推断类型等,但它的可读性比仅仅要差一些my_var = new(arg1, arg2, arg3)
请注意,这是一个关于如何做的问题a = new(1,2,3)
,就像 C# 一样,而不是关于现在在 C++ 中创建新对象,这使得看起来像 list<vector<toupel<int,float,char>>>*a = new list<vector<toupel<int,float,char>>>()
“有时用shared_ptr
and co 进行包装”。