Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
NikitoZZZ
4 / 4 / 3
Регистрация: 28.09.2013
Сообщений: 152
#1

Встроенная функция вектора из векторного класса - C++

12.10.2015, 23:30. Просмотров 265. Ответов 4
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
template <typename TypeContainer, typename Type, typename Policy> class Container {
public:
    ...
    TypeContainer GetPointer();
private:
    TypeContainer data;
};
C++
1
2
3
4
5
6
7
8
9
10
11
int main(int, char **)
{
        Container <std::vector<double>, double, PolicyVectorOne> vec5(0, 5);
 
    double *ar_ptr5 = new double[5];
    (vec5.GetPointer()).assign(&ar_ptr5[0], &ar_ptr5[4]);
    std::cout << vec5 << std::endl;
    delete[] ar_ptr5;
 
        return 0;
}
Если я сделаю поле data пабликом и напишу vec5.data.assign(&ar_ptr5[0], &ar_ptr5[4]), то все работает как нужно. Но с помощью функции не происходит копирование из массива в вектор.
http://www.cyberforum.ru/cpp-beginners/thread1737407.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2015, 23:30
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Встроенная функция вектора из векторного класса (C++):

присвоение значения элементу векторного класса
Написал я класс для массива (значений функции на отрезке): class DoubleArray {...

Встроенная функция сортировки массива
Здравствуйте! Подскажите, пожалуйста, как отсортировать только нечетные...

Почему встроенная функция вызывает конструктор копирования?
Почему встроенная функция вызывает конструктор копирования или всегда ли...

STL. Функция, которая будет искать элементы большее среднего арифметического вектора и удалять их из вектора
у меня есть вектор, помогите пожалуйста дописать функцию, которая будет искать...

Заполнение вектора класса внутри самого класса
class A { private: int a; public: A() { a = 0; }; A get(vector...

4
castaway
Эксперт С++
4926 / 3033 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
12.10.2015, 23:48 #2
Приведи простой пример.
0
NikitoZZZ
4 / 4 / 3
Регистрация: 28.09.2013
Сообщений: 152
12.10.2015, 23:57  [ТС] #3
Я привел пример в main того, как мне надо вызвать функцию.
C++
1
(vec5.GetPointer()).assign(&ar_ptr5[0], &ar_ptr5[4]);
vec5.GetPointer() должно меняться на data.
0
gray_fox
What a waste!
1552 / 1257 / 165
Регистрация: 21.04.2012
Сообщений: 2,634
Завершенные тесты: 3
13.10.2015, 00:14 #4
Лучший ответ Сообщение было отмечено NikitoZZZ как решение

Решение

NikitoZZZ, тогда возвращай ссылку, а не копию:
C++
1
2
 TypeContainer & GetPointer();
 TypeContainer const& GetPointer() const;
1
NikitoZZZ
4 / 4 / 3
Регистрация: 28.09.2013
Сообщений: 152
13.10.2015, 00:22  [ТС] #5
Спасибо.
0
13.10.2015, 00:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2015, 00:22
Привет! Вот еще темы с решениями:

Создать производный класс, в котором реализована функция умножения вектора на число и функция сложения двух векторов
Write программу с использованием класса Вектор (не без помощи форумчанина), но...

Как сделать, чтобы функция класса могла работать с обьектами другого класса
есть класс к примеру class One и класс к примеру class Two нужно чтобы...

Сам вопрос: почему функция-член одного класса не вызывается из функции-члена другого класса?
//Щас всё объясню. Так, имеем два класса, в одном я определил функцию-член. Все...

Перегрузка операций: friend-функция или функция-член класса
Здравствуйте, меня интересует вопрос, в чем разница при перегрузке операторов...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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