我正在处理的类有一个定义各种函数的某种类型的成员。出于各种原因(例如,使其线程安全),我的类应该是这种类型的包装器。无论如何,某些类型的函数可以直接传递,如下所示:
class MyClass {
// ... some functions to work with member_
/* Pass through clear() function of member_ */
void clear() {
member_.clear()
}
private:
WrappedType member_;
};
这还不错,而且我还可以很容易地将更多的功能添加到
MyClass::clear()
以防我需要。不过,如果我有几个传递函数,它就会膨胀
MyClass
对我来说,读起来更难。
所以我想知道是否有一种很好的单行方式(除了把上层定义写进一行之外)可以通过
WrappedType
的成员函数,非常像
making base class members available
:
/* Pass through clear() in an easier and cleaner way */
using clear = member_.clear; // Unfortunately, this obviously doesn't compile