Comments 20
>> то почему это в блоге «Ненормальное программирование» спросите Вы?
Может потому, что при наличии тэга code, код выложен скриншотами?
Может потому, что при наличии тэга code, код выложен скриншотами?
+31
И это тоже)) Но скриншоты мне нравятся тем, что на них форматирование именно такое, какое я задумал. И никакие браузеры/посвечивалки синтаксиса и прочие инструменты мне ничего не испортят. Ссылка на код имеется в конце статьи.
-6
> при наличии тэга code…
Лучше тег source, чтобы была подсветка кода.
Лучше тег source, чтобы была подсветка кода.
0
Так что ненормального? Наличие битового итератора?
+3
Красиво, но, к сожалению, не эффективно. (А вот lookup table или команда popcnt...)
В коде вместо 8 надо бы константу CHAR_BIT использовать.
В коде вместо 8 надо бы константу CHAR_BIT использовать.
+2
>> Красиво, но, к сожалению, не эффективно.
Потому и «ненормально»))
>> В коде вместо 8 надо бы константу CHAR_BIT использовать.
Согласен, допишу к статье.
>> команда popcnt
Жаль она только в SSE4 появилась, мой Quad не тянет((
>> lookup table
Хотел бы дополнить ваш ответ ссылкой на описание нескольких весьма эффективных методов подсчёта числа установленных битов: http://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetNaive
Потому и «ненормально»))
>> В коде вместо 8 надо бы константу CHAR_BIT использовать.
Согласен, допишу к статье.
>> команда popcnt
Жаль она только в SSE4 появилась, мой Quad не тянет((
>> lookup table
Хотел бы дополнить ваш ответ ссылкой на описание нескольких весьма эффективных методов подсчёта числа установленных битов: http://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetNaive
0
а зачем вам нужно чтоб конструктор копирования обнулял позицию?
+1
чтобы он устанавливался на нулевой бит в байте
-1
а зачем это делать в конструкторе копирования?
+2
Исправил ошибку, спасибо за feedback)
0
теперь пропал смысл в этом конструкторе, ибо дефолтный (если не реализуете свой) делает всё то же самое.
кроме того, обычно конструктор копирования идёт в паре с оператором присваивания, иначе получаем неполноценную реализацию класса, если добавим только один из «методов».
кроме того, обычно конструктор копирования идёт в паре с оператором присваивания, иначе получаем неполноценную реализацию класса, если добавим только один из «методов».
0
Зашёл в топик, только из-за того, что надеялся увидеть результат суммирования волны и ложки. Зашёл, и обломался.
+2
нет стоит из operator* возвращать ссылку на int, если через него нельзя установить текущий бит.
0
да, кавычки тут в к месту поставили))
0
Sign up to leave a comment.
Подсчёт числа установленных битов в файле