В С++ используется статическая типизация, типы всех выражений известны на этапе компиляции.
char:int - целое число
a. short int - минимум 16 бит
b. long int
c. long long int
char - всегда 1 байт. По умолчанию может быть как signed char, так и unsigned char.bool - 1 байт.Ключевое слово unsigned делает знаковую переменную беззнаковой. При переполнении unsigned происходит взятие остатка по модулю std::numeric_limits< unsigned type >::max() + 1. На размеры типов установлены следующие ограничения: sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long).
Функция sizeof( type ) - возвращает размер типа в байтах. sizeof(char) == 1
Существует следующие целочисленные типы со строго заданным размером:
int16_t - 16 бит (как и следует из названия)int32_tint64_tint_fast32_t - целочисленное значение, гарантируется размер больше 32 бит, а из них наиболее быстро работающий на данной архитектуре.size_t - целое беззнаковое число, размер задается так, чтобы в него помещался любой возможный индекс.float - 32 битаdouble - 64 битаlong double - 128 битДля работы со строками нужно подключить библиотеку string.
Строка является просто последовательностью char. В отличии от C строк, в C++ можно быстро получить длину строки с помощю str.length().
Для работы со векторами нужно подключить библиотеку vector. Внутри <> пишется тип элемента вектора. Объявлять вектор надо следующим образом:
std::vector<int> a;
Как пройти по всем элементам вектора (с помощью range-based for):
std::vector<int> numbers = {1, 2, 3};
for (int number : numbers) {
std::cout << number << std::endl;
}
По возможности стоит избегать такого итерирования:
std::vector<int> numbers = {1, 2, 3};
for (size_t i = 0; i < numbers.size(); ++i) { // Менее читабельная запись, лучше избегать
std::cout << numbers[i] << std::endl;
}