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

Вывести значения std::vector<std::vector<int*> > - C++

Восстановить пароль Регистрация
 
Suares
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 106
08.12.2013, 21:14     Вывести значения std::vector<std::vector<int*> > #1
Подскажите, как вывести значения?

C++
1
2
3
4
5
6
7
8
9
10
11
12
const size_t row = 3;
const size_t col = 3;
std::vector<std::vector<int*> > imatrix;
 
// Заполнение
 
for(size_t i = 0; i < row; ++i)
{
    imatrix[i].resize(col);
    for(size_t j = 0; j < col; ++j)
        imatrix[i][j] = new int(j+1);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2013, 21:14     Вывести значения std::vector<std::vector<int*> >
Посмотрите здесь:

std::vector<char**> C++
std::vector<int> Что это за тип данных? C++
C++ std::vector и деструкторы
C++ std::vector
std::vector::erase C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
08.12.2013, 21:23     Вывести значения std::vector<std::vector<int*> > #2
вы же меняли значения. печатать - почти точно также. только нужно не присваивать что-то,
а печатать:
C++
1
2
3
4
5
6
7
8
9
10
11
const size_t row = 3;
const size_t col = 3;
std::vector<std::vector<int*> > imatrix;
 
// Заполнение
 
for(size_t i = 0; i < row; ++i)
{
    for(size_t j = 0; j < col; ++j)
        std::cout << *imatrix[i][j] << std::endl;
}
Suares
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 106
08.12.2013, 22:25  [ТС]     Вывести значения std::vector<std::vector<int*> > #3
Цитата Сообщение от DU Посмотреть сообщение
печатать - почти точно также. только нужно не присваивать что-то
Спасибо, а вот как мне удалить в деструкторе такое выражение:
C++
1
std::vector<std::vector<int*> > imatrix;
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
08.12.2013, 22:34     Вывести значения std::vector<std::vector<int*> > #4
явно его удалять не надо. для этого вектора и придумали.
но раз у вас в векторах зачем-то указатели на динамически выделенные инты, то каждый нужно удалить:
C++
1
2
3
4
5
for(size_t i = 0; i < row; ++i)
{
    for(size_t j = 0; j < col; ++j)
        delete imatrix[i][j];
}
Yandex
Объявления
08.12.2013, 22:34     Вывести значения std::vector<std::vector<int*> >
Ответ Создать тему
Опции темы

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