S>Требования к софту меняются. Профилирование заставляет менять структуры данных в программе. И т.д., и т.п.
Не припомню случая когда приходилось бы менять вектор на список и наоборот. Слишком разные сценарии использования. А проектировать софт с учетом возможного столкновения с небесной осью я смысла не вижу.
K>>Но в вашем наивном примере, в якобы эффективном переходе от двух сравнений в if(i >= 0 && i < N) к одному в беззнак.арифметике, вы не видите леса за своим носом. Если вы "вычисляете" индекс в беззнаковой арифметике, то чтобы избежать переполнения ваши проверки просто переедут из кода обращения к массиву, в код вычисления индекса.
S>С чего бы? Это во-первых.
K>>В знаковой арифметике вы откупаетесь одним простым и эффективным if(i >= 0 && i < N)
S>Т.е. в вашей вселенной if(i>=0 && i<N) прощее и эффективнее if(i < N)? O_o.
Имею смелость утверждать. Т.к. реальном мире любая операция минус в беззнаковой арифметике небезопасна и потребует проверки, любая смешанная арифметика небезопасна и потребует проверки. Написание проверок требует дополнительных мысленных усилий и ухудшает читаемость и качество кода. А когда вы эту писанину еще на всякий случай подстрахуете vector::at можете окончательно попрощаться с эффективностью. Отдельно взятый оператор if(i < N) будет эффективней отдельно взятого if(i>=0 && i<N) вот только за ним стоит такой лес граблей, ненужных проверок и ненужных усилий которые сводят на нет всю его мнимую эффективность.
K>>Вы — человек действующий шаблонно по указивке комитета, пытаетесь поучать человека действующего осознанно.
S>А с какого бодуна вы решили, что я действую по указивке комитета? Так уж получилось, что безннаковые числа для размерностей и индексов я начал применять еще до того, как комитет по стандартизации C++ начал работать.
Значит вы с комитетом "нашли" друг друга.
S>Ну и, в отличии от вас, я не навязываю свою точку зрения. Были бы размерности/индексы знаковыми -- ок, работал бы со знаковыми или использовал бы беззнаковые, там где это нужно. Сейчас они беззнаковые и ОК, меня не парит то, что в чьих-то кодовых базах размерности/индексы знаковые.
S>Я не заставляю вас перейти от знаковых индексов к беззнаковым. И не пытаюсь доказать вам, что вы неправы в использовании знаковых индексов. И, уж тем более, не называю преверженцев знаковых размерностей/индексов моральными уродами, чье мнение не должно восприниматься всерьез.
Я не навязываю, а утверждаю очевидные вещи, что в общей практике знаковые индексы имеют больше преимуществ. Чему и следуют большинство языков программирования.
S>Поэтому-то вы "малолетний дебил" (с), который считает, что его инфантильные желания должны быть превыше всего, а его мнение безусловно является самым правильным.
Правильность моего мнения доказывает большинство языков программирования на нашей планете. А ваши оскорбления доказывают лишь только ваш уровень культуры.