我有一个名为
我还拥有多个
我想要构建的是一个
Foo
的类,需要引用才能构建(它将用于在该内存空间上操作)。template<typename T>
class Foo {
public:
Foo(T& value) : _value(value) {}
...
private:
T& _value;
};
我还拥有多个
T
的线性内存空间实例。std::array<T, SIZE> buffer;
我想要构建的是一个
Foo
对象数组,它映射了我的缓冲区的不同实例。这意味着每个Foo
实例都必须使用正确的引用来构建。std::array<Foo<T>, SIZE> operators;
然而,operators
不能被轻松地初始化,我可以通过通过'Foo'构造函数将缓冲区映射来构建它。
有没有什么办法可以做到?我尝试使用 std::forward
和 std::initializer_list
但是这些都不能从我的缓冲区构建。
请注意,出于通信目的,我需要保持缓冲区对齐,并且我最终会重载Foo
类以为数组的不同元素实现不同的行为。