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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Giena
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 8
#1

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

09.07.2015, 17:46. Просмотров 317. Ответов 3
Метки нет (Все метки)

Есть функция принимающая указатель на массив и его длину и копирующая его в другой массив определенный указателем.

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)
?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.07.2015, 17:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Stl vector как массив (C++):

stl vector или ограниченный массив - C++
Скажите пожалуйста целесообразно ли использовать вектор структур с весом 100 байт и размером вектора не больше 10, а так же использовать...

STL, vector. iterator. как работает? - C++
void invertArrange() //метод инвертирования порядка слов { istringstream ist(operLine);...

Как сделать переход к следующему элементу в STL vector - C++
Есть пример с книги по STL, и я его решил модернизировать: 1) Дописать код который выводит количество элементов. Это я сделал 2-я...

vector STL - C++
class data { public: char path; char net; char metric; int number; // для укаания строки таблици }; class vertex

Работа с STL vector - C++
Добрый день! Прошу объяснить следующие моменты связанные с &lt;vector&gt; (почему ругается студия, откуда берутся такие результаты) и дать...

STL vector iterator - C++
есть список в списке... ..точнее: vector &lt;Class1*&gt; mapClass1; а уже в Class1 определён вектор vector &lt;Class2*&gt; mapClass2; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DrOffset
7155 / 4296 / 972
Регистрация: 30.01.2014
Сообщений: 7,101
09.07.2015, 17:53 #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());
Зачем это все не спрашиваю.
0
Giena
0 / 0 / 0
Регистрация: 11.06.2015
Сообщений: 8
10.07.2015, 12:13  [ТС] #3
Спасибо за ответ.

А почему так принципиально передавать именно константный указатель?
0
DrOffset
7155 / 4296 / 972
Регистрация: 30.01.2014
Сообщений: 7,101
10.07.2015, 13:31 #4
Цитата Сообщение от Giena Посмотреть сообщение
А почему так принципиально передавать именно константный указатель?
Чтобы подчеркнуть, что функция не меняет данные через него.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2015, 13:31
Привет! Вот еще темы с ответами:

STL vector,list - C++
У меня 2 вопроса: 1) можете рассказать,как подробно работает reverse_iterator?Создал вектор,хочу его распечатать в обратном порядке...

STL vector запись в файл - C++
Здраствуйте! Такая проблема, есть у меня например vector чисел 1,2,3,4,5 надо записать их в файл. Если записываю так, то выбивает ошибка...

STL. Map, vector. Строки - C++
Здравствуйте. Почти не знаком с STL. Имеется вектор строк. Нужно найти частоту использования каждой буквы. Я уже который...

Обработка STL контейнера vector - C++
Текст дан в виде вектора. Отсортировать элементы этого вектора и превратить на два списка так, чтобы в первом были только те элементы,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.07.2015, 13:31
Ответ Создать тему
Опции темы

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