为什么lambda内存的大小不是12?

时间:2019-06-05 13:48:35

标签: c++ c++11 lambda c++14

我在学习lambda时遇到了这个问题, 这是从Visual Studio 2017以Debug X86模式运行的

int main()
{
  int i=0;
  double j=0;
  auto lambda = [i,j]()
    {
      std::cout<<sizeof(j)<<std::endl;
      std::cout<<sizeof(i)<<std::endl;
    };    
    l();
  std::cout<<sizeof(lambda);
}

如果两个字段均为int,则得到的大小为8(4 + 4)。对于doubleint,我期望得到12(8 + 4)的输出,但是它却给了我16

0 个答案:

没有答案