Uint_MAX: могу ли я доверять ему для головы и хвоста кольцевого буфера?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Uint_MAX: могу ли я доверять ему для головы и хвоста кольцевого буфера?

Сообщение Anonymous »

У меня есть кольцевой буфер, в котором хранится индекс начала и конца в виде целочисленного значения без знака. Согласно этому источнику, достаточно выполнить перенос только при получении индексов и просто позволить поведению uint позаботиться о переносе по uint_MAX. Это справедливо для всех реализаций или я полагаюсь на неопределенное поведение?
Демо
#include
#include
#include

int main()
{
size_t max = std::numeric_limits::max();
size_t head = max - 5;
size_t tail = max + 5;
size_t len = tail - head;
std::cout

Подробнее здесь: https://stackoverflow.com/questions/786 ... d-and-tail
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»