gpt4 book ai didi

c++ - 成员初始化部分语句复杂?

转载 作者:太空狗 更新时间:2023-10-29 23:31:55 24 4
gpt4 key购买 nike

我有这个:

struct myClass{
multiset<string,binPred<string> > values ;

myClass(const char param1, const char param2) : values(less<string>())
{ }
} ;

我需要根据 param1 和 < strong>param2。不幸的是,决定使用哪个仿函数的逻辑并不是那么简单,一旦构建了 values,我就无法更改其关联的比较仿函数。

所以...我需要将所有决策逻辑放在成员初始化部分,但我不知道如何使用 ?: 运算符。
是否可以在其中放置更复杂的语句? (如 switch 语句)

如果不是,有没有办法延迟values 的构造,以便我可以在构造函数的主体中对其进行初始化??

谢谢。

最佳答案

调用函数:

myClass(const char param1, const char param2) 
: values( MakeComplicatedDecision( xxx ) ) {
}

并将您的逻辑放入函数中。

关于c++ - 成员初始化部分语句复杂?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/743901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com