Conversation
…5 into development
…5 into development
Added a newline at the end of the file for consistency.
| double root2 = (-B + sqrtD) / (2 * A); | ||
|
|
||
| double x1 = static_cast<double>(root1); | ||
| double x2 = static_cast<double>(root2); |
There was a problem hiding this comment.
double переменные кастуем к double. это сильно
| } | ||
| if (x2 == -0.0) { | ||
| x2 = 0.0; | ||
| } |
There was a problem hiding this comment.
в C++ 0.0 строго определен, что за -0.0 ?
| throw std::runtime_error{"Not implemented"}; | ||
| } No newline at end of file | ||
|
|
||
| // в случае пустовго массива возращаем 0.0 |
There was a problem hiding this comment.
программисты умеют читать код ниже
| continue; // пропускаем пустую функцию | ||
| } | ||
| // вызываем i-ю функцию с числами a и b, кладем в v | ||
| double v = mathOperations[i](a, b); |
There was a problem hiding this comment.
что за v ? удобнее вызывать функцию ниже, непосредственно в месте использования
| @@ -1,6 +1,29 @@ | |||
| #include <stdexcept> | |||
| // для случая (nullptr, nullptr) | |||
| int* FindLastElement(std::nullptr_t, std::nullptr_t, bool (*)(int)) { | |||
There was a problem hiding this comment.
зачем, если функция ниже дублирует данную возможность
| // Перегрузка для const int*. | ||
| // Снимаем const, чтобы переиспользовать логику из версии для int*. | ||
| const int* FindLastElement(const int* begin, const int* end, bool (*predicate)(int)) { | ||
| return FindLastElement(const_cast<int*>(begin), const_cast<int*>(end), predicate); |
There was a problem hiding this comment.
это UB, некорректно снимать константность с изначально константного объекта, корректно можно было сделать наоборот, из функции которая принимает изменяемые объекты вызвать константную версию и снять константность с результата
| // поэтому здесь будем использовать его, | ||
| // временно снимаем const, чтобы вызвать существующую логику | ||
| const char* FindLongestSubsequence(const char* begin, const char* end, size_t& count) { | ||
| char* result = FindLongestSubsequence(const_cast<char*>(begin), const_cast<char*>(end), count); |
There was a problem hiding this comment.
некорректная реализация аналогично FindLastElement
18thday
left a comment
There was a problem hiding this comment.
@GushchinAndrei1 общие замечания к коду
- миллион лишних static_cast, даже double переменные кастуются к double явно
- комментариев столько, что невозможно читать код
- UB const_cast
No description provided.