Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.07.2020, 16:17   #1
diomed16
Пользователь
 
Регистрация: 27.09.2012
Сообщений: 37
По умолчанию как вектор стал двухмерным. Почему в первом цикле Layer(), а во втором Matrix(i,j); и зачем во втором цикле функцию back() используют?

Собственно вот:
1)
Код:
class Matrix
{
};
using Layer = std::vector<Matrix>;
std::vector<Matrix>layers;
2)
Код:
    for (unsigned i = 0; i< numLayers; ++i)
    {
        layers.push_back(Layer());        
        for (unsigned j = 0; j<topology[i]; ++j)
        {
             layers.back().push_back(Matrix(i , j));
        }
    }
Я знаю, примерно, что этот код делает, но не могу в его работе разобраться. Например, как вектор стал двухмерным. Почему в первом цикле Layer(), а во втором Matrix(i,j); и зачем во втором цикле функцию back() используют.

Желательно каждую строку расписать. Я знаю, что есть учебники и всё такое, но тем не менее.
diomed16 вне форума Ответить с цитированием
Старый 01.07.2020, 18:03   #2
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от diomed16 Посмотреть сообщение
Например, как вектор стал двухмерным. Почему в первом цикле Layer()
А тут в первом фрагменте ошибка. Должно быть
Код:
std::vector<Layer> layers;
Тогда всё становится на свои места

Цитата:
Сообщение от diomed16 Посмотреть сообщение
зачем во втором цикле функцию back() используют
Чтобы добавлять не в сам вектор layers, а в его последний элемент
Black Fregat вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Связать 2 input chekbox - в зависимости от выбранных значений в первом, выводить соответст. значения во втором antlantis PHP 1 08.03.2017 10:45
Виснет на втором цикле alt5000 PHP 3 08.12.2011 19:37
Два текстовых файла. Записать в третий те строки, которые есть и в первом, и во втором файлах (Паскаль) dark999 Паскаль, Turbo Pascal, PascalABC.NET 4 28.03.2011 21:41
Два столбца таблицы, во втором - поле, в первом - визуальное название этого поля Krasi HTML и CSS 1 31.07.2010 00:30
Фильтрация данных на втором листе по данным на первом ppl Microsoft Office Excel 3 13.08.2008 14:07