WikiDer > Краткое описание C ++
Следующее контур предоставляется как обзор и актуальное руководство по C ++:
C ++ это статически типизированный, свободная форма, мультипарадигма, составлен, общее назначение язык программирования. Он считается языком среднего уровня, поскольку включает в себя сочетание обоих высокий уровень и низкий уровень языковые особенности.[1] Он был разработан Бьярне Страуструп начиная с 1979 г. Bell Labs как расширение Язык C.
Что тип языка это C ++?
C ++ можно описать как все следующее:
- Язык программирования - искусственный язык, предназначенный для передачи инструкций машине, особенно компьютеру. Языки программирования можно использовать для создания программ, которые управляют поведением машины и / или точно выражают алгоритмы.
- Скомпилированный язык - язык программирования, реализованный через компиляторы (трансляторы, которые генерируют машинный код из исходного кода), а не интерпретаторы (пошаговые исполнители исходного кода, где трансляция не выполняется).
- Язык программирования общего назначения - язык программирования, предназначенный для написания программного обеспечения в самых разных областях применения.
- Средний язык - язык абстрактной машины, предназначенный для помощи в анализе компьютерных программ. Этот термин происходит от их использования в компиляторах, где компилятор сначала переводит исходный код программы в форму, более подходящую для преобразований, улучшающих код, в качестве промежуточного шага перед генерацией объекта или машинного кода для целевой машины.
- Объектно-ориентированный язык программирования - язык программирования, основанный на «объектах», которые представляют собой структуры данных, содержащие данные в форме полей, часто называемых атрибутами; и код в форме процедур, известных как методы. Процедуры объекта могут обращаться к полям данных объектов и изменять их. В объектно-ориентированном программировании компьютерные программы создаются путем создания их из взаимодействующих друг с другом объектов.
- Статически типизированный язык программирования
Общие концепции C ++
- Разрешение имени
- Поиск имени в зависимости от аргумента - применяется к поиску неквалифицированного имени функции в зависимости от типов аргументов, переданных при вызове функции. Это поведение также известно как Поиск по Кенигу, названный в честь своего изобретателя Эндрю Кениг (программист).
- Автоматическая ссылка - механизм автоматического определения, с какими библиотеками ссылаться при сборке программы на C или C ++. Активируется с помощью
#pragma comment (lib, <имя>)
операторы в файлах заголовков библиотеки. - Классы - Классы определяют типы структур данных и функции, которые работают с этими структурами данных. Экземпляры этих типов данных известны как объекты и могут содержать переменные-члены, константы, функции-члены и перегруженные операторы, определенные программистом. Язык программирования C ++ позволяет программистам разделять типы данных, специфичные для программы, с помощью классов.
- Гарантии исключения
- Заголовочный файл
- Внутренний класс
- Одно правило определения
- Непрозрачный указатель
- Обычная старая структура данных
- Правило трех (программирование на C ++)
- Информация о типе времени выполнения
- Точка последовательности
- Единый блок компиляции
- Специальные функции-члены
- Ошибка замены не является ошибкой
- Шаблон (C ++)
- Метапрограммирование шаблона
- Класс черт
- Неопределенное поведение
- Вызов виртуальных функций
вопросы
Набор инструментов C ++
Компиляторы C ++
Библиотеки C ++
Стандартная библиотека C ++
Стандартная библиотека C ++ - это набор утилит, поставляемых с C ++ для использования любым программистом на C ++. Он включает ввод и вывод, многопоточность, время, регулярные выражения, алгоритмы для общих задач и менее распространенные (find, for_each, swap и т. д.), списки, карты и хеш-карты (и эквивалент для множеств), а также класс, называемый вектором, который является массивом изменяемого размера. Многие другие функции предоставляются стандартной библиотекой, но в основном в форме, предназначенной для надстройки над созданием сторонних библиотек.
Другие известные библиотеки
- Библиотека активных шаблонов
- Адаптивная коммуникационная среда
- Алгоритмический скелет
- Стандартная библиотека Apache C ++
- Armadillo (библиотека C ++)
- Артефактур
- Библиотека Asio C ++
- Библиотека AT&T FSM
- Сервер ATL
- МЯЧ
- Блиц ++
- Сборщик мусора Boehm
- Boost (библиотеки C ++)
- Графический интерфейс Borland
- Botan (библиотека программирования)
- C ++ AMP
- CGAL
- Cinder (библиотека программирования) - фреймворк для расширенных возможностей визуализации.
- ClanLib
- CodeSynthesis XSD
- CodeSynthesis XSD / e
- CppUnit
- Крипто ++
- CTPP
- D-автобус
- Библиотека управления базами данных
- Dinkumware
- Эффи (C ++)
- Eigen (библиотека C ++)
- ГДАЛ
- GDCM
- GiNaC
- Gtkmm
- Графическая система HOOPS 3D
- Интегрированные примитивы производительности (IPP) - а многопоточный программного обеспечения библиотека функций для приложений мультимедиа и обработки данных, производимых Intel.
- Juce
- Какаду (программное обеспечение)
- KFRlib - кросс-платформенный, оптимизированный звук и DSP библиотека.
- LEMON (библиотека C ++)
- LevelDB
- Libarc
- LibLAS
- Libsigc ++
- Libx (графическая библиотека)
- LiteSQL
- LIVE555
- Локи (C ++)
- Математическая библиотека ядра (МКЛ) - а библиотека оптимизированных математических программ для науки, техники и финансовых приложений, созданных Intel.
- Библиотека шаблонов матрицы
- Метакит
- Библиотека Microsoft Foundation Class
- Библиотека объектов Windows
- Объектно-ориентированная иерархия абстрактных типов
- ODB (C ++)
- ОГРЭ
- Открыть библиотеку импорта активов
- Открыть Inventor
- OpenImageIO
- Библиотека шаблонов Oracle
- Набор инструментов Orfeo
- Библиотеки POCO C ++
- Подофо
- Poppler (программное обеспечение)
- Набор инструментов PTK
- Qt (фреймворк)
- Инструментарий RWTH FSA
- Библиотека звуковых объектов (SndObj)
- Штапель
- СимволическийС ++
- Заправка строительных блоков (TBB) - библиотека шаблонов C ++, разработанная корпорацией Intel для написания программ, использующих преимущества многоядерных процессоров.
- VTD-XML
- Библиотека шаблонов Windows
- WxWidgets
- Xcas
- Xerces
- ЯАФ
Смотрите также
- Список многопоточных библиотек C ++
- Список арифметических библиотек с множественной точностью C ++
- Список библиотек шаблонов C ++
История C ++
- История C ++
- Языки программирования, повлиявшие на C ++
- История стандартизации
- C ++ 98 - В 1998 году комитет по стандартам C ++ стандартизировал C ++ и опубликовал международный стандарт ISO / IEC 14882: 1998 (неофициально известный как C ++ 98).
- С ++ 03
- C ++ 11 - Утверждено ISO 12 августа 2011 года, заменяет C ++ 03.[3] Название происходит от традиции именования языковых версий по году публикации спецификации.
- C ++ 14 - Самая последняя итерация C ++, объявленная ISO 18 августа 2014 года, заменяет C ++ 11.[4]
- C ++ 17 - Следующая версия. Спецификация завершена и вступает в период рассмотрения.[5]
- C ++ 20[6]
Пример исходного кода
Публикации C ++
Книги по C ++
- Язык программирования C ++ - широко считается стандартным учебником языка. Автор Бьярн Страуструп.
- Дизайн и эволюция C ++ - книга Бьярна Страуструпа о рождении C ++.
- Современный дизайн на C ++ - книга Андрея Александреску о различных шаблонах проектирования с использованием C ++.
Журналы о C ++
- Отчет C ++ - выходил два раза в месяц профессиональный компьютерный журнал, издаваемый SIGS Publications Group.
C ++ личности
- Александр Степанов
- Андрей Александреску
- Эндрю Кениг
- Бьярне Страуструп- Датский ученый-компьютерщик, наиболее известный за создание и развитие C ++.
- Дэвид Абрахамс
- Дуглас С. Шмидт
- Херб Саттер
- Джим Коплиен (он же Джеймс О. Коплиен)
- Пит Беккер
- Роберт Сесил Мартин
- Скотт Мейерс
Диалекты C ++
Комитет по стандартизации C ++ не приветствует диалекты (предпочитая, чтобы проблема решалась новыми функциями в стандартной библиотеке, как это делается с такими элементами, как многопоточность для параллельного программирования), однако некоторые диалекты были созданы по разным причинам (чтобы удалить функции, которые сложнее реализовать, реакция на тенденцию программирования и т. д.):
- Диалект языка программирования - (относительно небольшая) вариация или расширение языка, не меняющее его внутренней природы.
- Очарование ++ - параллельный объектно-ориентированный язык программирования на основе C ++, разработанный в Лаборатории параллельного программирования в Университете Иллинойса. Charm ++ разработан с целью повышения продуктивности программистов путем предоставления высокоуровневой абстракции параллельной программы и в то же время обеспечения хорошей производительности на широком спектре базовых аппаратных платформ.
- Встроенный C ++ - диалект C ++ для встроенных систем, созданный "для обеспечения программистов встроенных систем подмножеством C ++, которое легко понять и использовать среднему программисту на C".[7]
- Встроенная система - компьютерная система, предназначенная для определенных функций управления объектом, машиной или устройством, в которое она встроена как составная часть продукта. Встроенные системы контролируют многие устройства, которые сегодня широко используются.
- R ++ - язык программирования на основе правил, разработанный Bell Labs в 1990-х годах на основе C ++.
- Система параллельного программирования Sieve C ++ - Компилятор C ++ и среда параллельного выполнения, разработанные и выпущенные Codeplay, призваны упростить распараллеливание кода, чтобы он мог эффективно работать в многопроцессорных или многоядерных системах.
- ΜС ++
Расширения языка C ++
- АспектС ++ - аспектно-ориентированное расширение языков C и C ++.
- C ++ / CLI - Спецификация языка Microsoft, предназначенная для замены Managed Extensions для C ++. Это полная версия, цель которой - упростить старый синтаксис Managed C ++ (который теперь устарел). C ++ / CLI стандартизирован Ecma как ECMA-372. В настоящее время доступно только в Visual Studio 2005, 2008, 2010, 2012, 2013 и 2015 (также включены в экспресс-выпуски).
- Инфраструктура общего языка - открытая спецификация, разработанная Microsoft и стандартизированная ISO и ECMA, которая описывает исполняемый код и среду выполнения, которые образуют ядро Microsoft .NET Framework, а также бесплатные реализации с открытым исходным кодом Mono и Portable.NET.
- C ++ / CX - языковое расширение для компиляторов C ++ от Microsoft, которое позволяет программистам на C ++ писать программы для новой платформы среды выполнения Windows или WinRT. Он предоставляет набор синтаксических и библиотечных абстракций, которые взаимодействуют с моделью программирования WinRT на основе COM способом, естественным для программистов на C ++.
- Силк Плюс — многопоточный параллельные вычисления расширение языков C и C ++.
- CUDA C / C ++ - компилятор и расширения для параллельных вычислений с использованием Nvidia видеокарты.
- Управляемые расширения для C ++ - устаревший набор отклонений Microsoft от C ++, включая грамматические и синтаксические расширения, ключевые слова и атрибуты, для переноса синтаксиса и языка C ++ в .NET Framework. Эти расширения позволили коду C ++ быть нацеленным на Common Language Runtime (CLR) в форме управляемого кода, а также продолжить взаимодействие с машинным кодом. Заменено C ++ / CLI.
Смотрите также
- Очерк компьютерного программирования
- Краткое описание программного обеспечения
- Очерк программной инженерии
Рекомендации
- ^ http://stroustrup.com/hopl-almost-final.pdf
- ^ Страуструп, Бьярн (1997). «1». Язык программирования C ++ (Третье изд.). ISBN 0201889544. OCLC 59193992.
- ^ «У нас есть международный стандарт: C ++ 0x единогласно одобрен». Получено 12 августа 2011.
- ^ Саттер, Херб (18 августа 2014 г.). «У нас есть C ++ 14!». Получено 2014-08-18.
- ^ https://herbsutter.com/
- ^ https://herbsutter.com/ «следующим стандартом после C ++ 17 будет C ++ 20»
- ^ EC ++ Вопросы и ответы