Будет ли следующий код C ++ соответствовать стандарту, если size
остается 0
?
std::size_t size = 0;
//... some code that may change size
auto foo = std::vector<int>(size);
Или я должен прибегнуть к чему-то вроде этого:
std::size_t size = 0;
//... some code that may change size
auto foo = [size]() {
if (size > 0) return std::vector<int>(size);
else return std::vector<int>();
}();