struct SomeStruct
{
public int Num { get; set; }
}
class Program
{
static Action action;
static void Foo()
{
SomeStruct someStruct = new SomeStruct { Num = 5 };
action =() => Console.WriteLine(someStruct.Num);
}
static void Main()
{
Foo();
action.Invoke();
}
}
- è una copia di someStruct creato quando viene creato il lambda?
- È una copia di someStruct creata quando viene restituito Foo?
- Posso verificare che la copia non si verifica? In C++ implementerei il costruttore di copie e stamperei al suo interno.
Le citazioni dallo standard saranno apprezzate. Qualsiasi articolo online pertinente pure.La copia viene eseguita quando si acquisisce un tipo di valore in una lambda?
L'unico problema è che non è possibile creare un costruttore senza parametri per una struttura. – Rory
Opps, mi dispiace per quello – albertein