Можно ли временно использовать сокетное соединение в фоновом режиме для управления внешним устройством через Watch?

Соглашением для диапазонов является [inclusive, exclusive), то есть, если вы выполняете итерацию по диапазону [X,Y), вы концептуально выполните следующее (псевдокод):

for( iterator ii = X; ii != Y; ++ii) {
...
}

Это позволяет выразить пустой диапазон как [X,X). Кроме того, этот пустой диапазон отлично определен для каждого адреса, независимо от того, является ли он действительным или недействительным.

При этом требования к data() (внимание мое):

23.3.6.4 [vector.data]

T * data () noexcept;

const T * data () const noexcept;

Возвраты: указатель, для которого [data (), data () + size ()) является допустимым диапазоном. Для непустого вектора data () == & amp; front ().

Мне кажется, что единственная безусловная гарантия заключается в том, что [data(),data() + size()) должен быть допустимым диапазоном. Для функции size() == 0 функция-член data() может возвращать любое значение, и диапазон будет действительным пустым диапазоном. Поэтому я бы сказал, что реализации разрешено возвращать ненулевой указатель, если size() равно нулю .

0
задан Gereon 31 December 2018 в 16:47
поделиться