Ответ
Да, безусловно. В контексте C++ я постоянно изучаю новые стандарты языка и современные идиомы. Например, при переходе с C++11 на более новые стандарты я активно применял move-семантику, std::optional и std::variant для более выразительного и безопасного кода.
Сейчас я изучаю возможности C++20/23, такие как std::format для типобезопасного форматирования строк и корутины для асинхронных операций. Вот пример использования std::expected (C++23) для обработки ошибок вместо исключений или кодов возврата в некоторых сценариях:
#include <expected>
#include <string>
#include <iostream>
std::expected<int, std::string> safe_divide(int numerator, int denominator) {
if (denominator == 0) {
return std::unexpected("Division by zero error");
}
return numerator / denominator;
}
int main() {
auto result = safe_divide(10, 2);
if (result) {
std::cout << "Result: " << *result << 'n';
} else {
std::cerr << "Error: " << result.error() << 'n';
}
return 0;
}
Я также готов углубляться в смежные области, такие как профилирование с Perf/Valgrind, изучение новых инструментов сборки (CMake, Conan) или embedded-платформ, если это потребуется для проекта.