Иногда мы не замечаем уязвимости и потенциальные проблемы в нашем коде. AI-помощник может сэкономить не только время, но и избавить от серьезных багов в продакшене.
Review this code for errors and refactor to fix any issues:
[Вставь свой код]
Было:
class DataProcessor {
public:
char* processData(char* input) {
char* buffer = new char[100];
strcpy(buffer, input);
return buffer;
}
void cleanup() {
// забыли освободить память
}
};
void example() {
DataProcessor dp;
char* result = dp.processData("some long input data that might overflow");
// утечка памяти - не вызываем delete
}
Стало (после AI-ревью):
class DataProcessor {
public:
std::string ProcessData(const std::string& input) {
// Используем std::string для безопасности
return input; // или любая другая обработка
}
// Деструктор не нужен - RAII работает автоматически
};
void Example() {
DataProcessor dp;
std::string result = dp.ProcessData("some long input data that might overflow");
// Автоматическое управление памятью
}
Что исправил AI:
Библиотека C/C++ разработчика #буст