以下代码结构或设计实现是否有惯用名称?

问题描述

在 C++ 语言中,许多人会遇到各种具有指定名称的设计模式,我们将在其中称为 Idiom,例如 SFINAERAIICRTP、{{ 1}} 等...

以最基本的形式考虑以下代码片段...

polymorphism

这里我使用模板化 lambda 生成或创建类 template<typename T> auto make_object = [](T val) { class Foo { public: Foo(T val) : value_{val} {} T value() const { return value_; } private: T value_; }; Foo foo(val); return foo; }; // in some other code block,scope,or translation int main() { auto bar = make_object<float>( 3.1f ); auto val = bar.value(); return 0; } 的实例,该实例完全包含(声明和定义)在 Lamba 主体的实现范围内并通过使用自动类型推导变量 Foo 属于 bar 类型,您可以在其中处理和访问它,就好像您已将 Foo 声明为它自己的单独类一样......这种类型的设计模式是否具有特定的惯用语?我不知道的名字?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)