Tương tự question đã được hỏi trước đó, nhưng tôi vẫn còn bối rối. STL, tôi tin rằng, độc quyền đi qua giá trị, như đi qua tham chiếu có thể có hậu quả trong một môi trường đa luồng. Nói, khi hai hoặc nhiều luồng đang thực hiện một lambda có thể thay đổi. Tôi hiện đang sử dụng một tham chiếu phổ biến khi tôi chỉ muốn gọi một lambda:không truyền lambda theo giá trị hoặc tham chiếu giúp nội tuyến dễ dàng hơn không?
template <typename F>
inline void invoke(F&& f)
{
f();
}
này liên kết với bất kỳ đối tượng chức năng, giống như một const&
sẽ, nhưng có lẽ đó là một ý tưởng tồi cho nội tuyến. Là một lambda thông qua bản sao dễ dàng hơn để inline bởi trình biên dịch? Tôi muốn các lambdas được thông qua là "không thể khắc phục" càng tốt.
lambda có thể thay đổi là gì? –
có thể thay đổi \t - \t cho phép cơ thể sửa đổi các thông số được chụp bằng bản sao và gọi các chức năng thành viên không phải của họ – user1095108
Ồ, có một từ khóa cho điều đó. Quên nó đi. –