vector<int> vec;
//a
auto foo = [&vec](){
//do something
};
//b
auto foo = [&v = vec](){
//do something
};
Tôi hiểu đúng rằng chỉ khác biệt giữa a và b là tạo bí danh "v" cho "vec" trong trường hợp b hoặc có nhiều hơn không?Sự khác biệt nào giữa việc chụp bởi [& capture] và bởi [& local = captured] trong lambdas?
Có thêm thông tin về điều đó [ở đây] (http://en.cppreference.com/w/cpp/language/lambda#Lambda_capture) nhưng đoạn mã liên quan là * "Chụp với bộ khởi tạo hoạt động như thể nó khai báo và nắm bắt một biến rõ ràng với kiểu tự động, có vùng khai báo là phần tử của biểu thức lambda ..." * – CoryKramer