Уровни являются последовательностями, где все элементы являются неконст-ссылочными типами. Они построены с призывом к парегалстукфункциональные шаблоны. Последующие разделы документируют различныеярусароматы.
Пример:
int i; char c; double d;
...
vector_tie
(i, c, d);
галстукможет использоваться для «распаковывания» другого кортежа в переменные. Например:
int i; char c; double d;
vector_tie
(i, c, d) = make_vector
(1,'a', 5.5);
std::cout << i << " " << c << " " << d;
Этот код печатает 1 а 5,5 на стандартный выходной поток. Операция распаковки последовательности, подобная этой, встречается, например, в ML и Python. Это удобно при вызове функций, которые возвращают последовательности.
Существует также объект, называемый, игнорирующий, который позволяет игнорировать элемент, назначенный последовательностью. Идея заключается в том, что функция может вернуть последовательность, только часть которой вас интересует. Например:
char c;
vector_tie
(ignore, c) = make_vector
(1, 'a');