我想通过创建一个typedef像可以通过typedefed将`auto const * const`转换为某种单词类型吗?
// (pseudocode)
using deepcp=auto const*const;
deepcp a=f(1),b=f(2),c=f(3);
auto lam=[](deepcp x,deepcp y,deepcp z){ return *x+*y+*z; };
我能实现的东西像C++ tihs简化auto const*const
结构的打字?也许模板别名会有所帮助?
嗯,变量的初始化看起来不错,但对于OP示例中的其他行(通用lambda)来说似乎不够普遍。 – Ruslan
好的,我想我在OP中不够明确。 lambda本意是_really_通用的。即它应该接受被称为像例如'林(getIntPtr(),getDoublePtr(),getMyCustomTypePtr())'。我想这是要求太多,因为'auto'对泛型lambdas的意义完全不同于变量。 – Ruslan
@Ruslan啊我明白了。那么,对于初学者来说,你不需要那里的顶级常量。另一个常量也不重要 - 除非你的问题比例子更复杂。所以只需使用'[](auto,auto,auto)'并且引用它。如果你传递智能指针,它也会有效。 –