Изучение средств языка программирования для управления дина- мической памятью. Изучение принципов алгоритмизации и разработки программ, связанных с обработкой динамических массивов. Изучение принципов построения и параметризации шаблонов функций.
Ход работы
Исходные данные:
размер массива: size_t n;
массив чисел: std::vector iArray;
Выходные данные:
Массивы отрицательных и положительных чисел:
struct Result
{
std::vector outArrayPositive;
std::vector outArrayNegative;
};
Контрольные вопросы: Какие виды памяти вы знаете? Каково их назначение?
Статическое и динамическое. Статическая память выделяется до запуска программы, динамическая же выделяется в куче и в режиме “live”.
Что такое динамическая память? В чем заключается ее особенность? Правила работы с динамической памятью.
Динамическая память – память, выделяемая во время работы программы в “куче”. При работе с динамической памятью ее нужно выделить и освободить после использования.
Что такое шаблон функции? Для чего он используется?
Шаблоны функции используются для параметризации параметров. Таким образом, компилятор сам создаст определения для нужных типов, если они используются в программе.
На каком механизме базируется реализация шаблонов функций?
На механизме перегрузки функций.
Что такое параметризация шаблона? Чем он параметризируется?
Параметризация шаблона – определение параметров шаблона.
В чем заключается параметризация шаблона?
При встрече параметра компилятор не будет сразу “реализовывать” функцию, но сначала дождется её вызова. После этого он выведет, какие параметры были переданы, и создаст определение для конкретно этой функции.
Вывод: в ходе работы изучил описание и принцип работы с пользовательскими типами данных: перечисляемый тип, записи. Изучил принципы алгоритмизации задач, связанных с обработкой файлов разного типа. Изучил перегрузки функций.