C++ Онлайн Компилятор - Запускайте, Тестируйте и Отлаживайте Мгновенно
Пишите, компилируйте и запускайте C++ код мгновенно в вашем браузере с нашим бесплатным онлайн компилятором C++. Идеально подходит для обучения, быстрого тестирования и подготовки к интервью — не требуется ни настройка, ни установка.
💡 Основы C++ для начинающих
1. Объявление переменных и констант
В C++ необходимо объявлять тип каждой переменной. Используйте const
для определения значений только для чтения, которые нельзя изменить после инициализации.
int age = 30;
double pi = 3.14159;
char grade = 'A';
std::string name = "Alice";
bool isActive = true;
// Константы
const int MAX_USERS = 100;
const std::string COMPANY = "CodeUtility";
// Попытка изменить const вызовет ошибку на этапе компиляции
// MAX_USERS = 200; // ❌ ошибка
2. Условные операторы (if / switch)
Используйте if
, else if
, else
для ветвления. Используйте switch
для нескольких значений.
int x = 2;
if (x == 1) {
std::cout << "One\n";
} else if (x == 2) {
std::cout << "Two\n";
} else {
std::cout << "Other\n";
}
// Switch-case
switch (x) {
case 1:
std::cout << "One\n";
break;
case 2:
std::cout << "Two\n";
break;
default:
std::cout << "Other\n";
}
3. Циклы
Используйте for
, while
и do-while
для повторения блоков кода.
for (int i = 0; i < 3; i++) {
std::cout << i << "\n";
}
int n = 3;
while (n > 0) {
std::cout << n << "\n";
n--;
}
4. Массивы
Массивы хранят несколько элементов одного типа.
int numbers[3] = {10, 20, 30};
std::cout << numbers[1] << "\n";
5. Манипуляции с массивами/векторами
Используйте std::vector
для динамических массивов.
#include <vector>
std::vector nums = {1, 2, 3};
nums.push_back(4);
nums.pop_back();
for (int n : nums) {
std::cout << n << " ";
}
6. Ввод/вывод в консоль
Используйте std::cin
для ввода и std::cout
для вывода.
std::string name;
std::cout << "Enter your name: ";
std::cin >> name;
std::cout << "Hello, " << name << "\n";
Placeholder
7. Функции
Функции группируют переиспользуемую логику. Используйте параметры и возвращаемые типы.
int add(int a, int b) {
return a + b;
}
std::cout << add(3, 4);
8. Карты
std::map
хранит пары ключ-значение, как словари.
#include <map>
std::map ages;
ages["Alice"] = 30;
std::cout << ages["Alice"];
9. Обработка исключений
Используйте try
и catch
для обработки ошибок времени выполнения.
try {
throw std::runtime_error("Error occurred");
} catch (const std::exception& e) {
std::cout << e.what();
}
10. Ввод/вывод файлов
Используйте fstream
для чтения из файлов и записи в них.
#include <fstream>
std::ofstream out("file.txt");
out << "Hello File";
out.close();
std::ifstream in("file.txt");
std::string line;
getline(in, line);
std::cout << line;
in.close();
11. Манипуляции со строками
Строки C++ поддерживают методы, такие как length()
, substr()
и find()
.
std::string text = "Hello World";
std::cout << text.length();
std::cout << text.substr(0, 5);
std::cout << text.find("World");
12. Классы и объекты
C++ поддерживает объектно-ориентированное программирование с использованием классов.
class Person {
public:
std::string name;
Person(std::string n) : name(n) {}
void greet() { std::cout << "Hi, I'm " << name; }
};
Person p("Alice");
p.greet();
13. Указатели
Указатель хранит адрес памяти другой переменной. Используйте &
для получения адреса,
и *
для разыменования (доступа к значению по адресу).
int x = 10;
int* ptr = &x;
std::cout << "Value of x: " << x << "\n";
std::cout << "Address of x: " << ptr << "\n";
std::cout << "Value from pointer: " << *ptr << "\n";
// Изменение x через указатель
*ptr = 20;
std::cout << "Updated x: " << x << "\n";