Пивняка Г.Г. Толковый словарь по информатике. Страница 72

С++ (Си++)

С++ (произносится «си плюс плюс») является универсальным компьютерным языком программирования. Он представляет собой статически типизированный, с открытой формой написания программ, язык, поддерживающий множество парадигм:                                                              

Процедурного программирования, абстракции данных, объектно-ориентированного программирования, а также настраиваемого (генерического - generic) программирования. В 90-х гг. стал одним из наиболее популярных корпоративных и коммерческих языков программирования. Разработан Бьёрном Страуструпом (Bjarne Stroustrup) в Bell Labs (США) в 1980 г. Он полностью базируется на элементах языка С (Си) и первоначально назывался Си с классами («C with Classes»). По словам автора, сочетание двух плюсов в названии языка означают инкрементальную операцию (++) по отношению к его предшественнику - языку С. Например, в синтаксисе операторов С++, если x = 3 и выполняется инструкция y = x++, то y == 3, а x == 4. Тем не менее, если выполняется инструкция y = ++x, тогда y == 4, а x == 4. Существенная направленность языка С++ на работу с аппаратурой и компонентами персональных компьютеров обеспечивается 52-мя операторами работы с данными (представленными битами, байтами, словами и др.), объединёнными в 18 групп разного приоритета. Сюда, в частности, входят постфиксные и префиксные инкременты (++) и декременты (--), операторы присваивания: с умножением (*=), делением (/=), делением по

модулю (%=), суммой (+=), разностью (-=), сдвигом влево (<<=) и сдвигом вправо (>>=). Сюда же входят побитовые операции: И (&), ИЛИ ( | ), побитовое исключающее ИЛИ ( А ), логическое И (&&), ИЛИ ( ||) и многие другие. В контексте языка постоянно и широко используются принципы, лежащие в основе объектной модели представления программно моделируемых систем:         абстрагирование, инкапсуляция, полиморфизм, модульность, иерархичность, типизация, параллелизм и сохраняемость. Механизмами реализации указанных абстракций являются виртуальные и не виртуальные функции, перегружаемые функции и методы, функции-члены базовых классов и их объекты, потоки, буфера и их классы, шаблоны, объявляющие параметризованные классы массивов, классы и экземпляры шаблонов и т.д. Другими словами, алгоритмическая составляющая в этом языке служит основой реализации методов объектов, при весьма высокой степени абстракции представления элементов иерархической структуры организации взаимодействия абстрактных данных в виде базовых и виртуальных классов реализуемых систем и порождаемых ими объектов. Синтаксис языка C++ был стандартизирован и утверждён следующими, признанными в мире организациями: Американским Национальным Институтом Стандартов ANSI (The American National Standards Institute), Британским Институтом Стандартов BSI (The British Standards Institute), Немецкой Национальной организацией по стандартизации DIN (The German national standards organization) и, наконец, в августе 2003 г. Международной организацией по стандартизации ISO (The International Standards Organization) - ISO/IEC 14882:2003. Наиболее известными визуальными средствами разработки на языке С++ являются Visual C++, Visual C++ .NET (RAD Visual Studio/Microsoft) и C++Builder (фирмы Borland).