Get*_*ree 2 c++ member-initialization
我有这个:
struct myClass{
multiset<string,binPred<string> > values ;
myClass(const char param1, const char param2) : values(less<string>())
{ }
} ;
Run Code Online (Sandbox Code Playgroud)
我需要的初始化values成员有根据的值不同的函子param1和param2.不幸的是,决定使用哪个仿函数的逻辑并不那么简单,而且一旦values构造我就无法改变它的相关比较仿函数.
所以...我需要将所有决策逻辑放在成员初始化部分,但我不知道如何使用?:运算符.
是否有可能在那里放置更复杂的陈述?(像switchstaments)
如果没有,有没有办法延迟构造,values所以我可以在构造函数的主体中初始化它?
谢谢.
小智 9
调用函数:
myClass(const char param1, const char param2)
: values( MakeComplicatedDecision( xxx ) ) {
}
Run Code Online (Sandbox Code Playgroud)
并将你的逻辑放在函数中.