s=s2 Присваивает строку s2 строке s; операнд s2 может быть объектом
класса string или строкой в стиле языка C s+=x Добавляет операнд x в конец строки s; операнд x может быть сим
волом, объектом класса string или строкой в стиле языка С s[i] Индексирование
s+s2 Конкатенация; результатом является новая строка, содержащая сим
волы строки s, за которыми следуют символы строки s2
Операции над строками
s==s2
s!=s2
s
s< = s2
s>s2
s> = s2
s.size()
s.length()
s.c_str()
s.begin()
s.end()
s.insert(pos,x)
s.append(x)
s.erase(pos)
s.erase(pos,n)
s.push_back(c)
pos=s.find(x)
Сравнение строк; один из операндов s и s2 может быть строкой в стиле языка С, но не оба одновременно
Сравнение строк; один из операндов s и s2 может быть строкой в стиле языка С, но не оба одновременно
Лексикографическое сравнение строк; один из операндов s и s2 может быть строкой в стиле языка С, но не оба одновременно
Лексикографическое сравнение строк; один из операндов s и s2 может быть строкой в стиле языка С, но не оба одновременно Лексикографическое сравнение строк; один из операндов s и s2 может быть строкой в стиле языка С, но не оба одновременно Лексикографическое сравнение строк; один из операндов s и s2 может быть строкой в стиле языка С, но не оба одновременно Количество символов в строке s Количество символов в строке s
Версия объекта s в виде строки символов в стиле языка C (завершающейся нулем)
Итератор, установленный на первый символ
Итератор, установленный на символ, следующий за последним символом строки s
Вставляет объект x перед символом s[pos]; объект x может быть объектом класса string или строкой в стиле языка C Вставляет объект x после последнего символа строки s. Объект x может быть объектом класса string или строкой в стиле языка C Удаляет хвостовые символы, начиная с элемента s[pos]. Размер строки s становится равным pos.
Удаляет n символов из строки s, начиная с элемента s[pos]. Размер строки s становится равным max(pos,size-n).
Добавляет символ c в конец строки
Находит объект x в строке s; объект x может быть символом, объектом класса string или строкой в стиле языка С; операнд pos — это индекс первого найденного символа или число string::npos (позиция, следующая за концом строки s)
Вводит слово в строку s из потока in
Сравнение регулярных выражений
Библиотека регулярных выражений еще не является частью стандартной библиотеки, но вскоре станет ею и будет широко доступной, поэтому мы решили привести ее в этой статье. Ниже перечислены основные функции из заголовка .
• Поиск (searching) строки, соответствующей регулярному выражению в (произвольно длинном) потоке данных, — обеспечивается функцией regex_search().
• Сопоставление (matching) регулярного выражения со строкой (известного размера) — обеспечивается функцией regex_match().
• Замена соответствий (replacement of matches) — обеспечивается функцией regex_replace(); в данной книге не описывается; см. профессиональные учебники или справочники.
Результатом работы функций regex_search() и regex_match() является коллекция соответствий, как правило, представленных в виде объекта класса smatch. regex row( "^[\\w ]+( \\d+)( \\d+)( \\d+)$"); // строка данных
while (getline(in,line)) { // проверка строки данных
smatch matches;
if (!regex_match(line, matches, row)) error("bad line", lineno);
// проверка строки:
int fieldl = from_string(matches[1]); int field2 = from_string(matches[2]); int field3 = from_string(matches[3]);
// . . .
}
В стандартной библиотеке языка C++ содержатся основные строительные конструкции для математических (научных, инженерных и т.д.) вычислений.
Предельные значения
Каждая реализация языка C++ определяет свойства встроенных типов, чтобы программисты могли использовать эти средства для проверки предельных значений, установки предохранителей и т. д.
В заголовке определен класс numeric_limits для каждого встроенного или библиотечного типа T. Кроме того, программист может определить класс numeric_limits для пользовательского числового типа X. Рассмотрим пример.
class numeric_limits { public:
static const bool is_specialized = true;
// основание системы счисления // (в данном случае двоичная)
// количество цифр в мантиссе // в текущей системе счисления static const int digits10 = 6; // количество десятичных цифр
// в мантиссе
static const int radix = 2; static const int digits = 24;
};
static const bool is_signed = true; static const bool is_integer = false; static const bool is_exact = false;
static float min() { return 1.17549435E-38F; } // пример static float max() { return 3.40282347E+38F; } // пример
static float epsilon() { return 1.19209290E-07F; } // пример static float round_error() { return 0.5F; } // пример
static float infinity() { return /* какое-то значение */; } static float quiet_NaN() { return /* какое-то значение */; } static float signaling_NaN() { return /* какое-то значение */; } static float denorm_min() { return min(); }
static const int min_exponent = -125; // пример
static const int min_exponent10 = -37; // пример
static const int max_exponent = +128; // пример
static const int max_exponent10 = +38; // пример
static const bool has_infinity = true; static const bool has_quiet_NaN = true; static const bool has_signaling_NaN = true;
static const float_denorm_style has_denorm = denorm_absent; static const bool has_denorm_loss = false;
static const bool is_iec559 = true; // соответствует системе
// IEC-559
static const bool is_bounded = true; static const bool is_modulo = false; static const bool traps = true; static const bool tinyness_before = true;
static const float_round_style round_style =
round to nearest;
В заголовках и определены макросы, определяющие основные свойства целых чисел и чисел с плавающей точкой.
Макросы предельных значений
CHAR_BIT Количество битов в типе char (обычно 8)
CHAR_MIN Минимальное значение типа char
CHAR_MAX Максимальное значение типа char (обычно 127, если тип char имеет знак, и 255, если тип char не имеет знака)
INT_MIN Наименьшее значение типа int
INT_MAX Наибольшее значение типа int
LONG_MIN Наименьшее значение типа long
LONG_MAX Наибольшее значение типа long
FLT_MIN Наименьшее положительное значение типа float (например, 1.175494351e-38F)
FLT_MAX Наибольшее значение типа float (e.g., 3.402823466e+38f)
FLT_DIG Количество десятичных цифр при заданной точности (например, 6)
FLT_MAX_10_EXP Наибольшая десятичная степень (например, 38)
DBL_MIN Наименьшее значение типа double
DBL_MAX Наибольшее значение типа double (например, 1.7976931348623158e+308)
DBL_EPSILON Наименьшее значение, удовлетворяющее условию 1.0+DBL_EPSILON != 1.0
Опубликовал katy
May 08 2015 11:16:12 ·
0 Комментариев ·
3400 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.