int n = 1; auto f = [n]() mutable { return ++n; }; 关于 lambda 捕获,正确的是?

C++

  1. A.[n] 按值捕获副本,mutable 只改副本,外部 n 仍为 1
  2. B.f 修改的是外部变量 n,每次调用外部 n 递增
  3. C.缺少 mutable 也能编译,按值捕获默认可改
  4. D.[&n] 与 [n] 效果相同,都改外部 n