- •МАССИВЫ
- •Массивы
- •МАССИВЫ.
- •МАССИВЫ.
- •Инициализация
- •Если элементов в массиве больше, чем
- •Размерность
- •Если при описании массива не ука
- •Для доступа к элементу массива
- •При обращении к элементам массива автоматический контроль выхода индекса за границу массива не
- •Пример:
- •Размерность массива
- •Динамические
- •Динамические массивы нельзя инициализировать при создании, и они не обнуляются!!!
- •Пример:
- •Доступ к элементам динамического массива
- •Альтернативный способ создания динамического
- •Динамические массивы
- •Многомерные
- •Пример:
- •Многомерные массивы
- •При инициализации многомерного массива он представляется
- •Динамические многомерные массивы
- •Более универсальный и безопасный способ выделения памяти под двумерный массив, когда обе его
- •Процессы, происходящие в памяти при выполнении
- •Освобождение памяти из-под
- •Указатель на константу удалить нельзя!!!
- •Для правильной интерпретации
- •Строки
- •СТРОКИ.
- •Строку можно инициализировать
- •Знак равенства перед строковым литералом означает инициализацию,
- •Операция присваивания одной строки другой не определена и
- •Пример :
- •При работе со строками часто используются указатели
- •Более эффективным будет использовать проверку на нуль-символ
- •В приведенном примере, результат операции присваивания —
- •Оба способа работы со строками
- •Распространенные ошибки при работе
- •Строки string не обязательно должны
Оба способа работы со строками |
|
(через массивы или указатели) приемлемы и |
|
имеют свои плюсы и минусы, но в общем случае |
|
лучше не изобретать велосипед, а пользоваться |
|
функциями библиотеки или определенным в |
|
стандартной библиотеке C++ классом string, |
|
который обеспечивает индексацию, |
|
присваивание, сравнение, добавление, |
|
объединение строк и поиск подстрок, а также |
|
преобразование из С-строк, то есть массивов |
|
типа char, в string, и наоборот. |
|
С Т Р О К И |
41 |
Распространенные ошибки при работе |
|
со строками: |
|
• отсутствие нуль-символа |
|
• выход указателя при просмотре |
|
строки за ее пределы |
|
С Т Р О К И |
42 |
Строки string не обязательно должны |
|
состоять из символов типа char. |
|
Это позволяет использовать любой набор |
|
символов (не только ASCII), но для |
|
произвольного набора следует определить |
|
собственную операцию копирования, что |
|
может снизить эффективность работы. |
|
С Т Р О К И |
43 |