Форум программистов, компьютерный форум CyberForum.ru

Stl vector как массив - C++

Восстановить пароль Регистрация
 
Giena
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 8
09.07.2015, 17:46     Stl vector как массив #1
Есть функция принимающая указатель на массив и его длину и копирующая его в другой массив определенный указателем.

C++
1
2
3
4
5
6
void SetMass(float *pMass, int plengthMass)
  {
      mMass = new float(plengthMass);
      lengthMass = plengthMass;
      memcpy(mMass,pMass,sizeof(float)*plengthMass);
  }
Можно ли передать в функцию объект типа vector? и можно ли это сделать так :

C++
1
2
3
4
5
std::vector <float> V;
 
// заполняем вектор V
 
void SetMass(GLfloat &V[0], GLushort V.size)
?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.07.2015, 17:46     Stl vector как массив
Посмотрите здесь:

C++ STL vector,list
C++ vector STL
C++ vector и функция read() из STL
stl vector или ограниченный массив C++
C++ STL vector iterator
C++ stl::vector, метод pop_back()
C++ STL, vector. iterator. как работает?
C++ Работа с STL vector
C++ Обработка STL контейнера vector
C++ STL. Map, vector. Строки
C++ Stl vector, не резервирует память
C++ Как сделать переход к следующему элементу в STL vector

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DrOffset
6786 / 3997 / 917
Регистрация: 30.01.2014
Сообщений: 6,816
09.07.2015, 17:53     Stl vector как массив #2
Giena, да, только функция неверно выделяет память для массива float, надо так:
C++
1
2
3
4
5
6
void SetMass(float const *pMass, int plengthMass)
{
      mMass = new float[plengthMass];
      lengthMass = plengthMass;
      memcpy(mMass, pMass, sizeof(float)*plengthMass);
}
C++
1
2
3
std::vector <float> V;
 
SetMass(&V[0], V.size());
Зачем это все не спрашиваю.
Giena
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 8
10.07.2015, 12:13  [ТС]     Stl vector как массив #3
Спасибо за ответ.

А почему так принципиально передавать именно константный указатель?
DrOffset
6786 / 3997 / 917
Регистрация: 30.01.2014
Сообщений: 6,816
10.07.2015, 13:31     Stl vector как массив #4
Цитата Сообщение от Giena Посмотреть сообщение
А почему так принципиально передавать именно константный указатель?
Чтобы подчеркнуть, что функция не меняет данные через него.
Yandex
Объявления
10.07.2015, 13:31     Stl vector как массив
Ответ Создать тему
Опции темы

Текущее время: 12:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru