最初の例:
struct State
{
SomeLargeObjectThatTakesTimeToCopy obj;
int x;
} myState;
auto f = [=]() { return myState.x * 2; };
myState技術的にはxメンバーのみが使用されますが、構造体全体がコピーされますか?
2 番目の例:
struct State
{
struct SubState
{
int x;
};
std::vector<SubState> subStates;
} myState;
auto f = [=]() { return myState.subStates[0].x * 2; };
繰り返しますが、オブジェクト全体myStateがコピーされますか? そうでない場合、subStatesメンバー全体がコピーされますか?