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

Есть ли конструкции на подобии массивов,но размер которых можно менять сколь угодно раз во время работы программы? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать 2 указателя на вектор http://www.cyberforum.ru/cpp-beginners/thread1091288.html
хотел создать 2 указателя на вектор, а не получается... пишу: shared_ptr<vector<int>> ptr1 (new vector<int>(10))подчеркивает vector<int> в самом начале со словами : "vector не является шаблоном". Как правильно его создать?
C++ Вычислить сумму возможных значений ряда Объяните, как решать такие задания в Visual C++ 6.0 Вычислить сумму возможных значений ряда , где F(i) - функция из приведенной ниже таблицы, а n - номер варианта. Шаг считать равным единице. Обязательным требованием является реализация циклического алгоритма в трех версиях (с помощью циклов for, while, do-while), а также использование конструкции условного ветвления switch для выбора... http://www.cyberforum.ru/cpp-beginners/thread1091277.html
C++ Задача с шаблонами и наследованием
Ребята, есть такая проблема.. Предположим, что у нас есть класс Image (не шаблонный). И есть класс ImageExt<T1,T2> (шаблонный), унаследованный от Image. Я хочу использовать в своей функции множество различных ImageExt<T1,T2> естественно с разными типами. Чтобы это можно было реализовать, хочу хранить объекты в массиве типа Image. Всё бы хорошо, но в ImageExt есть шаблонные методы, которые мне...
C++ Если сумма индексов каких-либо двух элементов матрицы, расположенных ниже главной диагонали, равна минимальному элементу матрицы, то..
Дана квадратная матрица А порядка N, состоящая из натуральных чисел. Если сумма индексов каких-либо двух элементов матрицы, расположенных ниже главной диагонали, равна минимальному элементу для всей матрицы, то вывести на экран сообщение "Да", иначе - сообщение "Нет" Помогите решить пожалуйста.
C++ Нужны задачи с использованием функций http://www.cyberforum.ru/cpp-beginners/thread1091239.html
Хочу полностью повторить и закрепить тему функций. Накиньте идей для реализации функций. Лучше математических :)
C++ Вывести все содержащиеся в массиве числа, нацело делящиеся на 3, в порядке убывания их индексов Напишите функцию , которая выводит вначале все содержащиеся в массиве числа , нацело делящиеся на 3 , в порядке убывания их индексов , а затем - все остальные числа в порядке возрастания их индексов подробнее

Показать сообщение отдельно
ValeryS
Модератор
6375 / 4841 / 443
Регистрация: 14.02.2011
Сообщений: 16,043
07.02.2014, 13:54     Есть ли конструкции на подобии массивов,но размер которых можно менять сколь угодно раз во время работы программы?
Цитата Сообщение от egor2116 Посмотреть сообщение
std::vector работает именно так как я написал.
это в смысле так
Цитата Сообщение от egor2116 Посмотреть сообщение
int * arr = new int[10];
/* что то делаем */
delete [] arr;
arr = new int[20];
а данные из старого массива в новый не надо переносить?

так что примерно так
C++
1
2
3
4
5
6
int * arr = new int[10];
/* что то делаем */
int * arr1=new int[20];
// коприруем значения
delete [] arr;
arr =arr1;
плюс ко всему вектор не добавляет каждый раз память а выделяет блоками, размер настраивается
так что алгоритм примерно такой
проверяем индекс массива
если не больше выделенного блока то
записываем элемент
изменяем размер
выходим
иначе
выделяем новую память размером как прежняя плюс размер блока
копируем значения
удаляем старую память
записываем новый элемент
изменяем размер
выходим
 
Текущее время: 19:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru