假设我有课
template<class T>
class Vector
{
public:
Vector() = default;
inline size_t size() const { return _vector.size(); }
private :
std::vector<T> _vector;
};
有没有办法在编译时将函数(或运算符)委托给 ,而无需_vector
开销?
我当然可以(这就是我正在做的)通过声明我需要的每个函数来转发所有内容,并且只需向成员调用适当的函数,就像我对size()
.
这篇文章正是我所需要的。例如使用这个:
template<class T>
class Vector
{
public:
Vector() = default;
private :
std::vector<T> _vector;
public:
using _vector {
size_t size() const;
void push_back(const T&);
}
};
然后编译器将生成适当的代码。但是我没有找到类似的东西,这可能吗?