C++
- Русское название:
- Cи++
- Дата создания:
- 1983
- Создан под влиянием:
- Повлиял на:
- Парадигма:
- Типизация:
- Принятые расширения файлов:
- .cpp .c++ .cc .h .hpp
- Диалекты:
- Реализации и версии (свернуть все | развернуть все):
-
- Borland C++ Builder
-
Digital Mars C/C++
- Digital Mars C/C++ 8.0
- Digital Mars C/C++ 8.10
- Digital Mars C/C++ 8.12
- Digital Mars C/C++ 8.13
- Digital Mars C/C++ 8.15
- Digital Mars C/C++ 8.17
- Digital Mars C/C++ 8.18
- Digital Mars C/C++ 8.18A
- Digital Mars C/C++ 8.18C
- Digital Mars C/C++ 8.18D
- Digital Mars C/C++ 8.18E
- Digital Mars C/C++ 8.20
- Digital Mars C/C++ 8.22
- Digital Mars C/C++ 8.23
- Digital Mars C/C++ 8.25
- Digital Mars C/C++ 8.26
- Digital Mars C/C++ 8.27
- Digital Mars C/C++ 8.28
- Digital Mars C/C++ 8.29
- Digital Mars C/C++ 8.30
- Digital Mars C/C++ 8.31
- Digital Mars C/C++ 8.32
- Digital Mars C/C++ 8.33
- Digital Mars C/C++ 8.34
- Digital Mars C/C++ 8.35
- Digital Mars C/C++ 8.36
- Digital Mars C/C++ 8.37
- Digital Mars C/C++ 8.38
- Digital Mars C/C++ 8.39
- Digital Mars C/C++ 8.40
- Digital Mars C/C++ 8.41
- Digital Mars C/C++ 8.42
- Digital Mars C/C++ 8.43
- Digital Mars C/C++ 8.44
- Digital Mars C/C++ 8.45
- Digital Mars C/C++ 8.46
- Digital Mars C/C++ 8.47
- Digital Mars C/C++ 8.48
- Digital Mars C/C++ 8.49
- Digital Mars C/C++ 8.50
- Microsoft Visual C++
- Open Watcom C/C++
- Open64 C/C++
- PGI C++ Workstation
- Sun Studio C/C++
- Watcom C/C++
- g++
Си++ (англ. C++) — компилируемый строго типизированный язык программирования общего назначения. Поддерживает разные парадигмы программирования: процедурную, обобщённую, функциональную; наибольшее внимание уделено поддержке объектно-ориентированного программирования.
В 1990-х годах язык стал одним из наиболее широко применяемых языков программирования общего назначения.
При создании Си++ стремились сохранить совместимость с языком C. Большинство программ на Си будут исправно работать и с компилятором Си++. Си++ имеет синтаксис, основанный на синтаксисе Си.
Нововведениями Си++ в сравнении с Си являются:
- поддержка объектно-ориентированного программирования через классы;
- поддержка обобщённого программирования через шаблоны;
- дополнения к стандартной библиотеке;
- дополнительные типы данных;
- исключения;
- пространства имён;
- встраиваемые функции;
- перегрузка операторов;
- перегрузка имён функций;
- ссылки и операторы управления свободно распределяемой памятью.
Элементы синтаксиса:
| Комментарий до конца строки | // |
|---|---|
| Комментарии, которые не могут быть вложенными | /* ... */ |
| Регистрозависимость | да |
| Регулярное выражение идентификатора переменной | [_a-zA-Z][_a-zA-Z0-9]* |
| Регулярное выражение идентификатора функции | [_a-zA-Z][_a-zA-Z0-9]* |
| Присваивание значения переменной | varname = value |
| Объявление переменной | type varname |
| Объявление переменной с присваиванием значения | type varname = value |
| Группировка выражений | ( ... ) |
| Блок | { ... } |
| Равенство | a == b |
| Неравенство | a != b |
| Тождественное равенство | *a == *b (a и b - указатели) |
| Тождественное неравенство | *a != *b (a и b - указатели) |
| Сравнение | < > <= >= |
| Определение функции | returntype functionName (argtype1 argname1, ..., argtypeN argnameN) |
| Вызов функции | functionName(arg1, ..., argN) |
| Вызов функции без параметров | functionName() |
| Последовательность | ; |
| Если - то | iif (condition) trueBlock |
| Если - то - иначе | if (condition) trueBlock else falseBlock |
| Бесконечный цикл | while (true) loopBody |
| Цикл с предусловием | while (condition) loopBody |
| Цикл с постусловием | do loopBody while (!condition) |
| Цикл for - next для диапазона целых чисел с инкрементом на 1 | for (int i = first; i <= last ; i++) |
| Цикл for - next для диапазона целых чисел с декрементом на 1 | for (int i = last; i >= first; i--) |
Примеры:
Факториал:
Пример для версий Borland C++ Builder 6, g++ 4.xИспользуется рекурсивное определение факториала.
#include <iostream>
unsigned long long factorial(unsigned long long n)
{
if (n == 0)
return 1;
else
return n * factorial (n - 1);
}
int main(void)
{
for (int n = 0; n <= 16; n++)
std::cout << n << "! = " << factorial(n) << std::endl;
return 0;
}
Hello, World!:
Пример для версий Borland C++ Builder 6, Microsoft Visual C++ 6, g++ 3.4.5, g++ 4.x#include <iostream>
int main(void)
{
std::cout << "Hello, World!" << std::endl;
return 0;
}
Числа Фибоначчи:
Пример для версий Borland C++ Builder 6, Microsoft Visual C++ 6#include <iostream>
int fibonacci(int n)
{
return (n<=2 ? 1 : fibonacci(n-1) + fibonacci(n-2));
}
int main(void)
{
for (int n=1; n<=16; n++)
std::cout << fibonacci(n) << ", ";
std::cout << "..." << std::endl;
return 0;
}
Факториал:
Пример для версий Borland C++ Builder 6, Microsoft Visual C++ 6Используется рекурсивное определение факториала. Реализация отличается от альтернативной использованием типа __int64 вместо unsigned long long и функции вывода на печать printf вместо std::cout <<.
#include "stdio.h"
__int64 factorial(__int64 n)
{
return (n==0 ? 1 : n*factorial(n-1));
}
int main(int argc, char* argv[])
{
for (int n=0; n<=16; n++)
printf("%d! = %I64d\n",n,factorial(n));
return 0;
}
Комментарии
]]>blog comments powered by Disqus
]]>