0

我有一个包含静态成员的类,该成员是 lambda。lambda 确实有固定的参数,但可能有不同的捕获。这就是问题所在。这个静态成员不是默认可构造的。

它也必须是静态的,我不能像在嵌入式系统上那样使用类型擦除模式。任何人都有解决此问题的任何想法或模式。

我可以在测量大小的字节数组上进行就地构造,但这会产生自己的问题,我想避免它。

我有但不喜欢的是:

编辑 1:改进的示例 在这里找到更完整的示例: https ://wandbox.org/permlink/UMwsXSR6c2QYleiU

编辑 2:进一步改进示例 上述改进版本: https ://wandbox.org/permlink/VTvGNlFRCNYG4J00

编辑 3:修复了 return_t https://wandbox.org/permlink/tl4BaH1zbutMV2nU的错误

4

1 回答 1

1

你可能想做这样的事情

template <class T>
class StaticWrapper
{
    static T* t = nullptr;
    StaticWrapper(T&& tt) { 
        static T ttt {tt};
        t = &ttt;
    }
};

相同的想法,但没有挑剔的演员表和新的位置。

于 2018-10-18T05:33:10.180 回答