Re[6]: ссылка на локальный вектор
От: peterbes Россия  
Дата: 16.05.16 15:35
Оценка:
Здравствуйте, 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; <---- Хлоп! Ошибка компиляции, данные только на чтение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.