Why Use C++ Instead of C?
Why does everyone keep telling me to use c++? My task was to create a function in C that would take an integer, find the right-most 0, flip it to a 1, and flip all the 1's to the right of it to 0's. I don't understand why, but everyone tells me to just use c++ instead? Strange. uint32_t func(uint32_t c) { uint32_t i = 1; while (i != 0) { // Searches for the right-most 0 if ((c & i) == 0) { // Tests if the bit is a zero break; } i <<= 1; }; if (i != 0) { c |= i; // Flips the right-most 0 to a 1 } else { c = ~c; // If no zeros were found, then it was probably hidden in the carry bit, flip all 1's to the right of it } i >>= 1; // Start at the 1 next to the right-most 0 while (i != 0) { // Flip all 1's to the right of it to 0's c &= ~i; i >>= 1; } return c; } Why are people so adamant that I use c++ instead of C?
На скриншоте Reddit программист показывает огромную функцию на C, которая манипулирует битами числа: находит самый правый нулевой бит, меняет его на единицу, а единицы справа сбрасывает. Шутка в том, что автор искренне не понимает, почему ему советуют C++, хотя очевидно, что такую задачу можно решить гораздо проще и понятнее, а сам код намеренно выглядит чрезмерно сложным и нелепым. Мем используют как реакцию на неоправданно сложное решение простой задачи и на программиста, который не замечает очевидного.
code screenshot / скриншот кодаdark Reddit interface / тёмный интерфейс RedditC programming code / код на CC++ reference / упоминание C++binary bit manipulation / манипуляция двоичными битамиinteger variable / целочисленная переменнаяfunction definition / определение функцииcomments in code / комментарии в кодеmonospace text / моноширинный текстgray code panel / серая панель с кодом
- @profunctor_io / 9660 2024-01-05
- Type
- image
- Size
- 550×800 · 66.1 KiB
- Mood
- саркастичный, абсурдный
- Language
- en
- Added