Podcast
Questions and Answers
Яка бібліотека використовується для вимірювання часу виконання в C++11?
Яка бібліотека використовується для вимірювання часу виконання в C++11?
Для чого використовується клас Timer?
Для чого використовується клас Timer?
Який тип використовується для позначення високої роздільної здатності годинника?
Який тип використовується для позначення високої роздільної здатності годинника?
Яка функція класу Timer використовується для обчислення пройденого часу?
Яка функція класу Timer використовується для обчислення пройденого часу?
Signup and view all the answers
Яка з наведених функцій не є частиною класу Timer?
Яка з наведених функцій не є частиною класу Timer?
Signup and view all the answers
Як можна скинути час виконання у класі Timer?
Як можна скинути час виконання у класі Timer?
Signup and view all the answers
Яка змінна зберігає точку часу, коли об'єкт Timer був створений?
Яка змінна зберігає точку часу, коли об'єкт Timer був створений?
Signup and view all the answers
Що буде повернено, якщо викликати elapsed() без скидання Timer?
Що буде повернено, якщо викликати elapsed() без скидання Timer?
Signup and view all the answers
Яким чином можна ініціалізувати об'єкт класу Timer?
Яким чином можна ініціалізувати об'єкт класу Timer?
Signup and view all the answers
Який тип даних використовується для зберігання результату виконання функції elapsed()?
Який тип даних використовується для зберігання результату виконання функції elapsed()?
Signup and view all the answers
Яка бібліотека надає функціонал потоків вводу/виводу в C++?
Яка бібліотека надає функціонал потоків вводу/виводу в C++?
Signup and view all the answers
Які об'єкти використовуються для простого вводу та виводу даних у C++?
Які об'єкти використовуються для простого вводу та виводу даних у C++?
Signup and view all the answers
Яка структура представлена в ієрархії класів бібліотеки iostream?
Яка структура представлена в ієрархії класів бібліотеки iostream?
Signup and view all the answers
Яка функція потоків у C++ найчастіше асоціюється зі словом 'stream'?
Яка функція потоків у C++ найчастіше асоціюється зі словом 'stream'?
Signup and view all the answers
Як можна охарактеризувати потік в C++?
Як можна охарактеризувати потік в C++?
Signup and view all the answers
Яка роль заголовкового файлу iostream у C++?
Яка роль заголовкового файлу iostream у C++?
Signup and view all the answers
Який із наведених класів є частиною бібліотеки iostream?
Який із наведених класів є частиною бібліотеки iostream?
Signup and view all the answers
Чому бібліотеку iostream можна використовувати, незважаючи на множинне спадкування?
Чому бібліотеку iostream можна використовувати, незважаючи на множинне спадкування?
Signup and view all the answers
Який тип даних, зазвичай, представляє потік у C++?
Який тип даних, зазвичай, представляє потік у C++?
Signup and view all the answers
Який клас є батьківським класом для класу ios?
Який клас є батьківським класом для класу ios?
Signup and view all the answers
Для чого використовується клас istream в C++?
Для чого використовується клас istream в C++?
Signup and view all the answers
Який оператор використовується для вилучення значень з потоку?
Який оператор використовується для вилучення значень з потоку?
Signup and view all the answers
Яка роль класу ostream в C++?
Яка роль класу ostream в C++?
Signup and view all the answers
Що відбувається, коли користувач натискає клавішу на клавіатурі?
Що відбувається, коли користувач натискає клавішу на клавіатурі?
Signup and view all the answers
Яке призначення оператора вставки << в C++?
Яке призначення оператора вставки << в C++?
Signup and view all the answers
Яка з наступних функцій не є частиною стандартного вводу/виводу в C++?
Яка з наступних функцій не є частиною стандартного вводу/виводу в C++?
Signup and view all the answers
Який клас зазвичай використовується програмістами для взаємодії з потоками вводу/виводу?
Який клас зазвичай використовується програмістами для взаємодії з потоками вводу/виводу?
Signup and view all the answers
Яка операція в C++ стосується читання даних з потоку?
Яка операція в C++ стосується читання даних з потоку?
Signup and view all the answers
Що є загальним для всіх потоків вводу/виводу в C++?
Що є загальним для всіх потоків вводу/виводу в C++?
Signup and view all the answers
Яка основна роль вхідного потоку?
Яка основна роль вхідного потоку?
Signup and view all the answers
Яка з наведених характеристик не є властивістю вихідного потоку?
Яка з наведених характеристик не є властивістю вихідного потоку?
Signup and view all the answers
Яке із зазначених пристроїв може бути джерелом як вводу, так і виводу?
Яке із зазначених пристроїв може бути джерелом як вводу, так і виводу?
Signup and view all the answers
Що може статися, якщо програма записує дані в вихідний потік і пристрій виводу не готовий?
Що може статися, якщо програма записує дані в вихідний потік і пристрій виводу не готовий?
Signup and view all the answers
Які з наступних пристроїв є прикладами вихідного потоку?
Які з наступних пристроїв є прикладами вихідного потоку?
Signup and view all the answers
Який з описаних сценаріїв найкраще ілюструє роботу вхідного потоку?
Який з описаних сценаріїв найкраще ілюструє роботу вхідного потоку?
Signup and view all the answers
Яка з цих визначень найкраще описує потік вводу?
Яка з цих визначень найкраще описує потік вводу?
Signup and view all the answers
Що відбувається з даними у вихідному потоці, якщо пристрій виводу зайнятий?
Що відбувається з даними у вихідному потоці, якщо пристрій виводу зайнятий?
Signup and view all the answers
Який з цих варіантів не є джерелом вхідного потоку?
Який з цих варіантів не є джерелом вхідного потоку?
Signup and view all the answers
Яка з наступних характеристик є спільною для потоків вводу та виводу?
Яка з наступних характеристик є спільною для потоків вводу та виводу?
Signup and view all the answers
Study Notes
### Вимірювання часу виконання коду
- Для визначення ефективності двох функцій з однаковим кінцевим результатом, можна засікти час їхнього виконання.
- В C++11 для цього використовується бібліотека
chrono
. - Для зручності використання функцій з
std::chrono
можна створити класTimer
. - Клас
Timer
використовує псевдоніми типів для зручного доступу до вкладених типів:clock_t
для високоточного годинникаstd::chrono::high_resolution_clock
,second_t
для тривалостіstd::chrono::duration
. - Конструктор класу
Timer
ініціалізує приватний членm_beg
поточним часом за допомогоюclock_t::now()
. - Метод
reset()
скидає значенняm_beg
до поточного часу. - Метод
elapsed()
повертає тривалість часу в секундах, яка минула з моменту ініціалізації або останнього скиданняm_beg
, використовуючиstd::chrono::duration_cast
. - Щоб використовувати клас
Timer
необхідно створити об'єкт цього класу.
Вступ до потоків вводу-виводу
- Функціонал вводу-виводу в C++ не вбудовано в мову, а надається Стандартною бібліотекою C++, зокрема в просторі імен
std
. - Бібліотека iostream надає всі необхідні класи та функції для роботи з вводом-виводом даних.
Ієрархія класів бібліотеки iostream
- Бібліотека iostream містить ієрархію класів, що відповідають за введення та вивід.
- Серед цих класів – клас
iostream
. - Ієрархія класів iostream розглядає множинне спадкування, але добре розроблена та протестована, щоб уникнути проблем, пов'язаних з ним.
Потоки в C++
- Основний механізм вводу-виводу в C++ – потоки.
- Потік – послідовність символів, до якої можна отримати доступ.
- Потоки можуть бути вводильними або виводильними.
Вводильний потік
- Зберігає дані, отримані від джерела даних (клавіатура, файл, мережа).
- Приклад: якщо користувач натискає клавішу, поки програма не очікує вводу, символ потрапляє у вводильний потік.
Виводильний потік
- Зберігає дані, що відправляються до споживача (монітор, файл, принтер).
- Приклад: якщо принтер ще не готовий до друку, дані тимчасово зберігаються у виводильному потоці.
Клас ios
- є дочірнім класом
ios_base
. - Визначає загальні характеристики потоків вводу-виводу.
Клас istream
- Працює з вводильними потоками.
- Оператор вилучення
>>
витягує значення з потоку.
Клас ostream
- Працює з виводильними потоками.
- Оператор вставки
<<
вставляє значення в потік.
Деякі приклади роботи з потоками
-
cin
– це стандартний об’єкт класуistream
, пов'язаний з вводильним потоком від клавіатури. -
cout
– це стандартний об’єкт класуostream
, пов'язаний з виводильним потоком на екран. - Приклад:
int nAge; cin >> nAge;
(зчитується ціле число з вводу і зберігається в зміннійnAge
).
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Цей тест призначений для перевірки знань про вимірювання часу виконання коду в C++11 за допомогою бібліотеки chrono
. Ви дізнаєтеся, як створити клас Timer
, що дозволяє ефективно відстежувати час виконання функцій. Пройдіть тест, щоб перевірити свої навички в цій темі.