Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Розвиток і стандартизація мовиУ 1985 році вийшло перше видання «Мови програмування C ++», що забезпечує перший опис цієї мови, що було надзвичайно важливо через відсутність офіційного стандарту. У 1989 році відбувся вихід C ++ версії 2.0. Його нові можливості включали множинне спадкування, абстрактні класи, статичні функції-члени, функції-константи і захищені члени. У 1990 році вийшло «Комментированное справочное руководство по C++», покладене згодом в основу стандарту. Останні оновлення включали шаблони, виключення, простору назв, нові способи приведення типів і булевский тип. Стандартна бібліотека C ++ також розвивалася разом з ним. Першим додаванням до стандартної бібліотеці C ++ стали потоки введення-виведення, що забезпечують кошти для заміни традиційних функцій C printf і scanf. Пізніше самим значним розвитком стандартної бібліотеки стало включення в неї Стандартної бібліотеки шаблонів. У 1998 році був опублікований стандарт мови ISO / IEC 14882: 1998 (відомий як C ++ 98), розроблений комітетом по стандартизації C ++ (ISO / IEC JTC1 / SC22 / WG21 working group). Стандарт C ++ не описує способи іменування об'єктів, деякі деталі обробки виключень і інші можливості, пов'язані з деталями реалізації, що робить несумісним об'єктний код, створений різними компіляторами. Однак для цього третіми особами створено безліч стандартів для конкретних архітектур і операційних систем. У 2003 році був опублікований стандарт мови ISO / IEC 14882: 2003, де були виправлені виявлені помилки і недоліки попередньої версії стандарту. У 2005 році був випущений звіт Library Technical Report 1 (коротко званий TR1). Не будучи офіційно частиною стандарту, звіт описує розширення стандартної бібліотеки, які, як очікувалося авторами, повинні бути включені в наступну версію мови C ++. Ступінь підтримки TR1 поліпшується майже у всіх підтримуваних компіляторах мови C ++. З 2009 року велася робота по оновленню попереднього стандарту, попередньої версією нового стандарту спершу був C ++ 09, а через рік C ++ 0x, сьогодні - C ++ 11, куди були включені доповнення в ядро мови і розширення стандартної бібліотеки, у тому числі більшу частину TR1. C ++ продовжує розвиватися, щоб відповідати сучасним вимогам. Одна з груп, що розробляють мову C ++ і направляючих комітетові по стандартизації C ++ пропозиції щодо його поліпшення - це Boost, яка займається, зокрема, вдосконаленням можливостей мови шляхом додавання в нього особливостей метапрограмування. Ніхто не володіє правами на мову C ++, він є вільним. Однак сам документ стандарту мови (за винятком чернеток) не доступний безкоштовно. Способи Структуризації програми Мова С підтримує модульне програмування, суть якого полягає в можливості роздільної компіляції і компоновки різних частин програми. Наприклад, можна виконати компіляцію тільки тієї частини програми, яка була змінена в ході останнього сеансу редагування. Це значно прискорює процес розробки великих і навіть середнього розміру проектів, особливо якщо доводиться працювати на повільних машинах. Якщо б мова С не підтримувала модульне програмування, то після внесення невеликих змін в програмний код довелося б компілювати повністю всю програму, що могло б зайняти дуже багато часу. Найбільш істотна відмінність C++ від мови С полягає у використанні концепції об'єктно-орієнтованого програмування. Класи є фундаментальною концепцією об'єктно-орієнтованого програмування. Визначення класу включає оголошення всіх полів, можливо, з початковими значеннями, а також описи функцій, призначених для маніпулювання значеннями полів - методів. Об'єкти є змінними типу класу. Кожен об'єкт може містити власні набори закритих і відкритих даних.
|