C++11 Странное обозначение [0:size())
Я должен понять из
Язык программирования Stroutrup C++ - инварианты
что приведенная выше запись является инициализатором диапазона или эта интерпретирующая инструкция математически передает, что диапазон массива класса Vector находится в диапазоне от 0 до некоторого заранее определенного размера?
Должен ли я даже использовать эту книгу, потому что она содержит ошибки, такие как доступ к члену структуры из переменной этой структуры, используя .
вместо ->
?
1 ответ
Решение
Это полузакрытый интервал. Он говорит, что индекс вектора должен быть в диапазоне от 0 до, но не включая размер вектора. Так 0
будет действительным индексом (при условии, что вектор не пуст), но size()
не будет. Это не пример кода.