Re: int* someArray на входе
От: TheBeard Россия  
Дата: 04.06.10 08:41
Оценка: 17 (3) +1
Здравствуйте, GhostCoders, Вы писали:

GC>Здраствуйте!


GC>Есть некая функция,


GC>
GC>void SomeFunc(int* someArray,size_t arraySize);
GC>


GC>Очень хочеться работать с параматров someArray как с std::vector<int> контейнером.


Можно использовать boost::iterator_range:

#include <boost/range.hpp>
//...

void
SomeFunc(int* someArray, size_t arraySize)
{
    boost::iterator_range<int*> r =
        boost::make_iterator_range(someArray, someArray + arraySize);
    //...
}
Re: int* someArray на входе
От: Кодёнок  
Дата: 04.06.10 08:19
Оценка: 11 (2) +1
Здравствуйте, GhostCoders, Вы писали:

GC> (*_someArray.begin()) — // Доступ к someArray[0]


struct {
  int* a;
  int* b;
  
  size_t size() { return b - a; }
  int* begin() { return a; }
  int* end() { return b; }
  int& operator[](size_t index) { return a[index]; }
  // ... допиши сам ...
} _someArray = { someArray, someArray + arraySize };
Re: int* someArray на входе
От: Acteon  
Дата: 04.06.10 08:24
Оценка: 3 (1) +1
Здравствуйте, GhostCoders, Вы писали:

GC>Здраствуйте!


GC>Есть некая функция,


GC>
GC>void SomeFunc(int* someArray,size_t arraySize);
GC>


GC>Очень хочеться работать с параматров someArray как с std::vector<int> контейнером.


GC>например, так

GC>
GC>    std::vector<int> _someArray; 
GC>    // Далее осущствить связыание с массивом someArray
GC>    // НО! Данные массива при этом не копировать!

GC>    ...
GC>    (*_someArray.begin()) - // Доступ к someArray[0]
GC>    // и так далее....
GC>


GC>заранее спасибо!


Можешь взять за основу Boost.Array и добавить возможность присваивания ему внешних массивов.
int* someArray на входе
От: GhostCoders Россия  
Дата: 04.06.10 08:15
Оценка:
Здраствуйте!

Есть некая функция,

void SomeFunc(int* someArray,size_t arraySize);


Очень хочеться работать с параматров someArray как с std::vector<int> контейнером.

например, так
    std::vector<int> _someArray; 
    // Далее осущствить связыание с массивом someArray
    // НО! Данные массива при этом не копировать!

    ...
    (*_someArray.begin()) - // Доступ к someArray[0]
    // и так далее....


заранее спасибо!
Третий Рим должен пасть!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.