Я возвращаю три элемента из функции в виде std::tuple
.Кортеж как тип возвращаемого значения, не удовлетворенные значения оптимизированы?
... myFunction()
{
...
return std::tuple< int, unsigned long long, unsigned int >{ errorCode, timeStamp, sizeOfBuffer };
}
Поскольку возвращаемые значения должны быть доступны с помощью std::get
или std::tie
, делает Оптимизировать компилятор для неиспользуемых значений (G ++ 4.8)?
Я думаю, что единственный способ, чтобы знать наверняка, чтобы исследовать сгенерированный код. – StilesCrisis
Ответ может быть, но, вероятно, нет. Потому что «g ++» может быть невозможно определить, имеет ли копия ctor какие-либо побочные эффекты. Но в этом случае вы используете POD, так что это возможность. – OmnipotentEntity
@StilesCrisis, yikes! Это, безусловно, вариант (я бы предпочел избежать, если это возможно). Я уже думаю, что может быть более интуитивным, чтобы вернуть структуру ... Это просто кажется более увлекательным. – DaveyLaser