vector<vector<int> > A(0);
A.resize(5);
for (int i = 0; i < 5; i++)
A.resize(3);
вектор векторов(С++)
Или на худой конец массив векторов?
Заранее спасибо.
Код:
Код:
vector< vector<T> > mas(n);
for(i=begin;i<end;i++)
{
mas.push_back(i);
}
for(i=begin;i<end;i++)
{
mas.push_back(i);
}
Выдаёт ошибку
Код:
vector<vector<T> > mas(n);
for (int i = 0; i < n; i++)
mas.resize(0);
// а вот здесь пишите то, что вам нужно
for (int i = 0; i < n; i++)
mas.resize(0);
// а вот здесь пишите то, что вам нужно
Большое спасибо за ответ.
vector<vector<T> > mas(n);
for (int i = 0; i < n; i++)
mas.resize(0);[/QUOTE]Это не имеет смысла
Цитата:
Это не имеет смысла
Это почему же? Конкретно для push_back - соглашусь, а вообще - инициализация необходима.
Цитата: Alexander92
Это почему же?
Почитай про resize и про грамотную инициализацию std::vector. Тогда не будет вопросов.
Код:
std::vector<some_type> v;
v.resize(0); //ты утверждаешь, что без этой строки дальше использовать объявленный вектор нельзя
v.resize(0); //ты утверждаешь, что без этой строки дальше использовать объявленный вектор нельзя
Эта строка не делает ничего. Объявленный вектор и так имеет нулевой размер
Вопрос снят, уже сам сообразил, что неправ.
Цитата: Alexander92
А кто может запретить? :)
Код:
vector<vector<int> > A(0);
A.resize(5);
for (int i = 0; i < 5; i++)
A.resize(3);
A.resize(5);
for (int i = 0; i < 5; i++)
A.resize(3);
Это же, но покороче:
Код:
vector< vector<int> > A(5, vector<int>(3));