Содержание
- 2. Написать функцию сортировки массива интов Важно, очень простая задачка вверху!
- 3. void sortArr(int* arr, int size_arr) { for (int i{}; i for (int j{i + 1}; j
- 4. Написать функцию сортировки массива даблов
- 5. void sortArr(double* arr, int size_arr) { for (int i{}; i for (int j{i + 1}; j
- 6. Написать функцию сортировки массива char - ов
- 7. void sortArr(char* arr, int size_arr) { for (int i{}; i for (int j{i + 1}; j
- 8. Написать функцию сортировки массива bool – ов (ну, а что? а вдруг?!)
- 9. void sortArr(bool* arr, int size_arr) { for (int i{}; i for (int j{i + 1}; j
- 10. Псс, люди, ничего не заметили? Давайте ещё раз, найдите 5 отличий:
- 11. void sortArr(bool* arr, int size_arr) { for (int i{}; i for (int j{i + 1}; j
- 12. void sortArr(int* arr, int size_arr) { for (int i{}; i for (int j{i + 1}; j
- 13. void sortArr(double* arr, int size_arr) { for (int i{}; i for (int j{i + 1}; j
- 14. void sortArr(char* arr, int size_arr) { for (int i{}; i for (int j{i + 1}; j
- 15. Везде меняется только тип! Не слишком ли жирно, писать кучу кода РУКАМИ, когда в нём меняется
- 16. Обобщённое программирование - Принцип написания кода согласно которому, следует писать такие алгоритмы, которые могут одинаково работать
- 17. Шаблон кода Написание куска кода, пренебрегая типами данных, которыми он управляет.
- 18. Шаблон кода (более формально – беее, много букв) Это обобщенное описание поведения функций, которые могут вызываться
- 19. Хватит теории, давайте практику!
- 20. ВО! template
- 21. Превратим кучу функций в одну: template void sortArr(T* arr, int size_arr) { for (int i{}; i
- 22. Рассмотрим, что ещё можно делать: Типов может быть больше одного template void testFunc(T* arr_1, A* arr_2,
- 23. Или вообще бесконечное кол – во: void myPrint() { cout } template void myPrint(const firstType &value,
- 24. int main() { myPrint( "This is string", 'C', 12, 48.5, "WOW!" ); return 0; }
- 25. Вызов шаблонных функций: template T sum(T a, T b) { return a + b; } int
- 26. Параметры, которые не являются типами: template T getSumArr(T (&arg)[S]) { T sum{}; for (const T &it
- 27. Вызов, вообще магия ) int arr[5]{1, 2, 3, 4, 5}; cout
- 28. Шаблон шаблона, шаблона, шаблона, шаб…, ну вы поняли template typename Arr> void testFunc() { T var;
- 29. Аргументы шаблона по умолчанию template > class vector;
- 30. Специализация шаблонов template void sortArr(T* arr, int size_arr) { for (int i{}; i for (int j{i
- 31. Экземпляры шаблонов template T sum(T a, T b) { return a + b; } template int
- 32. Инстанциирование шаблонов Всё на столько просто, что писать нечего :)
- 33. Перегрузка шаблонов template T sqrt(T); template complex sqrt(complex ); double sqrt(double); void fun(complex z) { sqrt(2);
- 34. Шаблоны классов Всё стандартно, точно также, как для функций
- 36. Скачать презентацию