¿Implica [=] que se copiarán todas las variables locales?

Cuando escribo un lambda con[=], ¿significa que todas mis variables locales se copiarán en miembros de la estructura creada o puedo suponer que solo se utilizarán aquellas que realmente se usan en la lambda? Por ejemplo:

void f()
{
    vector<int> v(10000);
    const int n = 5;
    const int DivByNCnt = count_if(istream_iterator<int>(cin), istream_iterator<int>(), 
          [=](int i)
          {
             return i % n == 0;
          });
}

¿Cuál de los siguientes, si alguno, es verdadero?

tanto n como v serán copiadosn será copiado, v no serán será copiado, v puede o no ser copiado dependiendo de la configuración de implementación / optimización.

Supongamos, por el bien del argumento, que el constructor de copias de vectores tiene efectos secundarios.

Respuestas a la pregunta(2)

Su respuesta a la pregunta