Содержание
- 2. Указатели Указатель – это переменная, хранящая адрес некоторой ячейки памяти. Указатели являются типизированными: int i =
- 3. Передача параметров по указателю Использование указателей позволяет реализовывать функции, которые меняют свои аргументы. Допустим, мы хотим
- 4. Передача параметров по указателю Для того, чтобы это исправить, будем передавать не значения типа int, а
- 5. Еще раз о массивах Массивы – это набор однотипных элементов, расположенных в памяти друг за другом,
- 6. Связь массивов и указателей Массивы тесно связаны с указателями. Указатели позволяют передвигаться по массивам. Для этого
- 7. Примеры Заполнение массива при помощи указателя: Передача массива в функцию: указатель на начало массива Работаем с
- 8. Чтение строк Для начала вам нужно подключить библиотеку string. «String» – это строка как последовательность символов,
- 9. Чтение строк При использовании cin чтение будет происходить по словам. Например, если нам понадобится считать два
- 10. Чтение строк Часто возникает необходимость считать строку (в понимании line) целиком, а не пословно. Для этого
- 11. Коды символов В компьютере всё, в том числе и строки, хранится в виде чисел (строка —
- 12. Выделение цифр числа Задача: получим из html-кода страницы информацию о курсах акций, чтобы заработать на их
- 13. Поиск подстроки в строке Пусть в скачанном нами файле содержится много строк, но нам интересна только
- 14. Изменение регистра символа int n; // кол-во строк cin >> n; string s; getline(cin, s); for
- 15. Задача Необходимо вывести символы между первым и вторым знаком препинания.
- 16. Два способа передачи массива *p - указатель на начало массива Второй способ быстрее! Так как m[i]
- 17. Возврат указателя из функции // первый элемент массива // возвращаем само значение макс. элемента начало массива
- 18. Возврат указателя из функции Но можно вернуть также и место в массиве, на котором находится макс.
- 19. Возврат значения через указатель Если функции передали пустой массив, то функция будет сигнализировать об этом. новый
- 20. Недостатки указателей оператор разыменования и взятия адреса указатели на указатели если объявлен указатель, но не проинициализирован,
- 21. Ссылки это ссылки На самом деле в функции используются не локальные переменные, а ссылки на эти
- 22. Различия ссылок и указателей для ссылок всегда нужно указывать инициализирующее значение не нужна проверка на 0
- 23. Различия ссылок и указателей Ссылки представляют идею «синонимов»
- 24. lvalue и rvalue тернарный оператор = m[a/2]=5
- 25. Время жизни переменной foo возвращает указатель на переменную. Но a – это локальная переменная. При выходе
- 26. Стек вызовов
- 27. Устройство стека
- 28. Устройство стека
- 29. Устройство стека
- 30. Устройство стека
- 31. Устройство стека
- 32. Устройство стека
- 33. Вызов функции Счетчики: (вершина стека) (начало данных текущей функции)
- 34. Вызов функции (аргументы)
- 35. Вызов функции адрес возврата (регистры процессора) Возвр. значение
- 36. Вызов функции Управление передается функции foo() Счетчик перемещается (для адресации лок. переменых)
- 37. Вызов функции Временное значение
- 38. Вызов функции Вычисляются значения d и h Условное выражение вида "условие" ? "выражение 1" : "выражение
- 39. Вызов функции Записывается возвр. значение
- 40. Вызов функции Функция foo () закончила свое выполнение, лок. переменные удалены
- 41. Вызов функции Изменяем значение x и избавляемся от всех доп. данных
- 42. Вызов функции Зависит от компилятора
- 43. Динамическая память Это способ выделения дополнительных областей памяти для хранения данных. Зачем нужна динамическая память? Массив
- 44. Выделение памяти в стиле С (самостоятельно)
- 45. Выделение памяти в стиле С (самостоятельно)
- 46. Выделение памяти в стиле С (самостоятельно) Чтобы указатель m не указывал на какую-то область памяти
- 47. Выделение памяти в стиле С++
- 48. Типичные проблемы при работе с динамической памятью Память занята неравномерно
- 49. Типичные проблемы при работе с динамической памятью Программа отработает нормально
- 50. Вопросы 1) В чем разница между статической памятью и динамической? 2) Назначение указателя. 3) Что означает
- 51. Задание #include using namespace std; int main() { int a = 5; int *p = &a;
- 53. Скачать презентацию