- •Як описуються цілі числа?
- •Порядкове читання вводу.
- •Що робить функція-член get ()?
- •Клас string.
- •Створення структури.
- •Що робить оператор enum?
- •Як робиться перерахування значень?
- •1. Змінна і змінна показника.
- •Копіювання рядка із масиву.
- •Використання операцій new та delete.
- •13. Отримання простору пам’яті.
- •Комбіновані операції присвоювання
- •Вирази відношень
- •Аналіз умови циклу:
- •Логічні оператори.
- •Простий файловий ввід-вивід символьної інформації.
- •Деякі основні факти, що використовують cout у консольному виводі.
- •Файловий ввід.
- •Як вказати діапазон елементів у масиві?
- •Як зробити передачу адреси замість передачі самої структури?
- •Використання посилальних аргументів.
- •Аргументи, що визначаємо за замовчуванням.
- •Перевантаження функції.
- •Моделі пам’яті і простір імен - Окрема компіляція програм
- •Директива #include.
- •Об’ява структур.
- •Довгочасність існування області зберігання, області видимості та компоновки.
- •Область видимості і зв’язування.
- •Автоматична довгочасність збереження.
- •Автоматичні змінні та стек.
- •Регістрові змінні.
- •П’ять видів змінних
- •Мовне зв’язування, котре дотикається функції.
Використання посилальних аргументів.
Існують дві головні причини використання посилальних аргументів:
Щоб зробити можливим зміні об’єкту даних функції, що викликається.
Щоб прискорити роботу програми за рахунок передачі посилання замість повної копії об’єкту даних.
По цім двом причинам в якості аргументу можна використовувати показник. Розглянемо рекомендації у яких випадках слід використовувати посилання, показник або передачу за значенням.
Функція використовує дані, що передаються, без їх змін:
Коли об’єкт даних має малий розмір, наприклад, значення вбудованного типу даних або невелику структуру, то передавайте його за значенням.
Коли об’єкт даних є масивом, використовувайте показник, оскільки це єдине найприйнятніший варіант. Зробити об’яву зі специфікацією const.
Коли об’єкт даних є структурою найприйнятнішого розміру, то використовуйте const-показник або const-посилання для збільшення ефектності програми. У цьому випадку вдається зберегти час і простір, який необхідний для копіювання структури або побудови класу. Зробити об’яву показника або посилання зі специфікацією const.
Коли об’єкт даних є об’єктом класу, використовуйте посилання за спеціфікатором const. Семантика структури класу найчастіше потребує застосування посилання. Таким чином. Стандартом є передача об’ектів класу за посиланням.
Аргументи, що визначаємо за замовчуванням.
Розглянемо інструментальний засіб С++ – аргументи, що визначаємо за замовчуванням. Такі інструменти уявляють собою значення, котрі використовуються автоматично, коли відповідні фактичні параметри у звернені до функції опущені. Наприклад, коли функція void wow(int n) описана так, що n за замовчуванням має значення 1, то звернення до функції wow(int n) визначає теж саме, що і виклик wow(1). Ця властивість дозволяє більш гнучко використовувати функції.
Щоб встановити значення за замовчуванням слід скористуватися прототипом функції. Метод складається з того, що значення аргументам присвоюються в прототипі. Наприклад, нехай маємо прототип, відповідний наступному опису функції left():
char *left(const char * str, int n=1);
Треба, щоб ця функція повертала новий рядок,тому її типом буде char*, тобто показник на значення типа char. Коли потрібно зберегти вхідний рядок незмінним, слід використовувати спеціфікатор const для першого аргументу. А для того, щоб аргумент n мав значення 1, яке визначене за замовчуванням, присвоюємо це значення аргументу n. Застосоване за замовчуванням значення аргументу – це значення, яке задається при ініціалізації. Таким чином, даний прототип ініціалізує n значенням 1. Коли аргумент n опускається, то для нього приймається значення 1, але коли даний аргумент передається, то нове значення пере визначає значення 1.
Розглянемо інструментальний засіб С++ – аргументи, що визначаємі за замовчуванням. Такі інструменти уявляють собою значення, котрі використовуються автоматично, коли відповідні фактичні параметри у звернені до функції опущені. Наприклад, коли функція void wow(int n) описана так, що n за замовчуванням має значення 1, то звернення до функції wow(int n) визначає теж саме, що і виклик wow(1). Ця властивість дозволяє більш гнучко використовувати функції.
Щоб встановити значення за замовчуванням слід скористуватися прототипом функції. Метод складається з того, що значення аргументам присвоюються в прототипі. Наприклад, нехай маємо прототип, відповідний наступному опису функції left():
char *left(const char * str, int n=1);
Треба, щоб ця функція повертала новий рядок,тому її типом буде char*, тобто показник на значення типа char. Коли потрібно зберегти вхідний рядок незмінним, слід використовувати спеціфікатор const для першого аргументу. А для того, щоб аргумент n мав значення 1, яке визначене за замовчуванням, присвоюємо це значення аргументу n. Застосоване за замовчуванням значення аргументу – це значення, яке задається при ініціалізації. Таким чином, даний прототип ініціалізує n значенням 1. Коли аргумент n опускається, то для нього приймається значення 1, але коли даний аргумент передається, то нове значення пере визначає значення 1.
Для функції зі списком аргументів застосованими за замовчуванням значення присвоюються в напряму справо наліво. Пропуск аргументів не допускається.
