Код: Выделить всё
void modifyArray(int* arr = nullptr) {
if (arr) {
*arr += 10;
}
}
- использовать std::array вместо int*
- передача по ссылке, чтобы избежать копирования
- с использованием std::optional, чтобы предотвратить использование, когда оно пустое
Код: Выделить всё
void modifyArray(std::optional& optArr = std::nullopt) {
if (optArr) {
for (auto& element : optArr.value()) {
element += 10;
}
}
}
Код: Выделить всё
Non-const lvalue reference to type 'std::optional' cannot bind to a value of unrelated type 'const nullopt_t'Я еще не нашел способа реализовать все вышеперечисленное вместе. Это жизнеспособно?
Подробнее здесь: https://stackoverflow.com/questions/793 ... n-modern-c
Мобильная версия