Реферат: Мова програмування C та середовище розробки Microsoft Visual C
void* vfunc(void *dest, int з, unsigned count)
{...}
Транслятор мови C++ перевірить відповідність фактичних типів значень, переданих у функцію, формальним типам аргументів функції. Також буде перевірена відповідність типу значення типу змінної, якій привласнюється це значення, що повертається.
Перевантаження функцій
У C++ можна використовувати однакові імена для декількох функцій. Звичайно різні функції мають різні імена, але іноді вимагається, щоб одна і та ж функція виконувала схожі дії над об'єктами різних типів. В цьому випадку є зміст визначити декілька функцій з однаковим ім'ям, але різним тілом. Такі функції повинні мати відмінні набори аргументів, щоб компілятор міг розрізняти їх. Не дивлячись на те, що різні функції мають одне ім'я, по типу аргументів компілятор легко зможе визначити, яку версію функції слід викликати у кожному конкретному випадку [4, c.244].
Стандартні значення параметрів функцій
У C++ можна задавати параметрам функцій значення за замовчуванням. У такому випадку при виклику функції можуть бути вказані значення тільки деяких параметрів, тоді як іншим вони будуть призначені автоматично.
Списки аргументів змінного розміру
У C++ за допомогою трьокрапки (...) можуть бути описані функції з невизначеним набором параметрів. Контроль за типами параметрів таких функцій не ведеться, що підвищує гнучкість їх використовування.
Використання посилань на аргументи функцій
За допомогою оператора & можна задати передачу аргументів функції по посиланню, а не по значенню. Наприклад:
void increment(int &variable_reference)
{ variable_reference++; }
Оскільки параметр variable_reference визначений як посилання, його адреса привласнюється адресі змінної i при виклику функції increment (). Остання виконує приріст значення параметра.
Покажчики типу void
У C++ тип void використовується для позначення того, що функція не повертає ніяких значень. Покажчик, що має тип void, може бути привласнений будь-якому іншому покажчику базового типу.
4. ЗАСОБИ ОБМІНУ ДАНИМИ
C++ має в своєму розпорядженні свій власний файл заголовків IOSTREAM.H, що містить набір засобів введення-виведення, специфічних для цієї мови. Потокове введення-виведення в C++ організовується за допомогою комплекту стандартних класів, що підключаються за допомогою файлу IOSTREAM.H. Ці класи містять перевантажені оператори введення >> і виведення <<, які підтримують роботу з даними різних типів. Щоб краще зрозуміти, чому легше працювати з потоками в C++, давайте пригадаємо, як взагалі в мові С реалізується введення і виведення даних. Перш за все мова С не має вбудованих засобів введення-виведення. Всі функції, такі як printf() або scanf(), надаються через зовнішні бібліотеки, хоча і вважаються стандартними, але не є частиною самої мови. У принципі, це дозволяє гнучко вирішувати проблеми, що виникають в різних додатках. Труднощі з'являються у зв'язку з тим, що подібного роду функцій дуже багато, вони по-різному повертають значення і приймають різні аргументи. Програмісти покладаються головним чином на функції введення-виведення формату printf(), scanf() і їм подібні, особливо якщо доводиться працювати з числами, а не з текстом. Ці функції достатньо універсальні, але часто, через велику кількість різних специфікаторів форматування, стають надто громіздкими і важко читаними. Мова C++ так само не має в своєму розпорядженні вбудованих засобів введення-виведення, але пропонує модульний підхід до рішення даної проблеми, групуючи можливості введення-виведення в двох основних потокових класах: istream - містить засоби введення, ostream - містить засоби виведення. У всіх цих класах реалізовані оператори << і >>, оптимізовані для роботи з конкретними даними. Бібліотека IOSTREAM.H містить також класи, за допомогою яких можна керувати введенням-виведенням даних з файлів: ifstream - породжений від istream і підключає до програми файл, призначений для введення даних, а ofstream - породжений від ostream і підключає до програми файл, призначений для виведення даних.
5. ВБУДОВАНІ ЕЛЕМЕНТИ
Компілятор VisualC++ містить багато нових інструментальних засобів і поліпшених можливостей для створення Windows-додатків [1].
Додатки Windows прості у використанні, але створювати їх досить складно. Програмістам доводиться вивчати сотні різних API-функцій. Щоб полегшити їх роботу, фахівці Microsoft розробили бібліотеку MicrosoftFoundationClasses— MFC . Використовуючи готові класи C++, можна набагато швидше і простіше вирішувати багато задач. Бібліотека MFC істотно полегшує програмування в середовищі Windows. Ті, хто володіє достатнім досвідом програмування на C++, можуть допрацьовувати класи або створювати нові, похідні від існуючих. Класи бібліотеки MFC використовуються як для керування об'єктами Windows, так і для рішення певних загальносистемних задач. Наприклад, в бібліотеці є класи для керування файлами, рядками, часом, обробкою виключень і інші. По суті, в MFC представлені практично всі функції WindowsAPI. У бібліотеці є засобу обробки повідомлень, діагностики помилок і інші засоби, звичні для додатків Windows. MFC володіє наступними перевагами:
· Представлений набір функцій і класів відрізняється логічністю і повнотою. Бібліотека MFC відкриває доступ до всіх часто використовуваних функцій WindowsAPI, включаючи функції управління вікнами додатків, повідомленнями, елементами управління, меню, діалоговими вікнами, об'єктами GDI (GraphicsDeviceInterface— інтерфейс графічних пристроїв), такими як шрифти, кисті, пір'я і растрові зображення, функції роботи з документами тощо.
· Функції MFC легко вивчати. Фахівці Microsoft доклали всі зусилля для того, щоб імена функцій MFC і пов'язаних з ними параметрів були максимально близькі до їх еквівалентів з WindowsAPI. Завдяки цьому програмісти легко зможуть розібратися в їх призначенні.
· Програмний код бібліотеки достатньо ефективний. Швидкість виконання додатків, заснованих на MFC, буде приблизно такою ж, як і швидкість виконання додатків, написаних з використанням стандартних функцій WindowsAPI, а додаткові витрати оперативної пам'яті будуть досить незначними.
· MFC містить засоби автоматичного керування повідомленнями. Бібліотека MFC усуває необхідність в організації циклу обробки повідомлень — поширеного джерела помилок в Windows-додатках. У MFC передбачений автоматичний контроль за появою кожного повідомлення. Замість використовування стандартного блоку switch/case всі повідомлення Windows зв'язуються з функціями-членами, що виконують відповідну обробку.
· MFC дозволяє організувати автоматичний контроль за виконанням функцій. Ця можливість реалізується за рахунок того, що можна записувати в окремий файл інформацію про різні об'єкти і контролювати значення змінних-членів об'єкту в зручному для розуміння форматі.
· MFC має чіткий механізм обробки виняткових ситуацій. Бібліотека MFC була розроблена так, щоб тримати під контролем появу таких ситуацій. Це дозволяє об'єктам МFC відновлювати роботу після появи помилок типу "outofmemory" (брак пам'яті), неправильного вибору команд меню або проблем із завантаженням файлів або ресурсів.