Здравствуйте, uzhas, Вы писали:
Откуда такие сложности на пустом месте, интерфейсы, абстрактные классы, наследования, перегрузка, куча классов, если задача решается напрямую без академических извратов.
template<class T>
struct AB
{
public:
AB(){}
void write( const size_t size, T* pT )
{
if (_data.size() < size)_data.resize( size );
copy( pT, pT + size, _data.begin() );
}
const vector<T>& read(){ return _data; }
size_t get_size(){ return _data.size(); }
private:
vector<T> _data;
};
float mydata[] = { 1.0f, 2.4f, 3.14f, 2.71f };
AB<float> sci_buf;
//sci_buf.w
sci_buf.write( 4, (float*) mydata );
auto& Vals = sci_buf.read();
Vals[2] = 2.53f; <---- Хлоп! Ошибка компиляции, данные только на чтение