Chủ đề: Lambda Expression
-
22-03-2016, 10:04 AM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Lambda Expression
Em có đoạn code như sau:
Mã:#include <vector> #include <algorithm> #include <iostream> using namespace std; int main() { vector<unsigned long> numbers; vector<unsigned long> indexes; int n; cin >> n; int *A = new int [n]; for (int i = 0; i < n; i++) { cin >> A[i]; numbers.reserve(n); numbers.push_back(A[i]); indexes.reserve(numbers.capacity()); indexes.push_back(i); } sort(indexes.begin(), indexes.end(),[&numbers](unsigned long i1, unsigned long i2){return numbers[i1] < numbers[i2];}); for (auto i = indexes.begin(); i != indexes.end(); ++i) cout << *i << ' '; cout << endl; return 0; }
Các bác cho hỏi trong dòng
Mã:sort(indexes.begin(), indexes.end(),[&numbers](unsigned long i1, unsigned long i2){return numbers[i1] < numbers[i2];});
Mã:[&numbers](unsigned long i1, unsigned long i2){return numbers[i1] < numbers[i2])
Em đọc trên mạng thì thấy bảo là Lambda Expression nhưng chưa thực sự hiểu lắm ạ.View more random threads:
- Không mở được file với lớp CFile!
- Giải phóng bộ nhớ sau khi gọi đệ quy
- Lỗi VS 2008 fatal error C1902
- Làm sao để chèn sự kiện VM_QUIT trong MFC 2008
- Canh hàng code tự động trong Visual C++?
- xin hướng dẫn code Socket chat giữa nhiều máy client thông qua server
- Lỗi sự kiện khi sử dụng hàm DefWindowProc !
- Lấy thông tin con trỏ chuột trong VC++ như thế nào ?
- Lệnh gọi chạy 1 file khác?
- Lỗi : error LNK2005: "extern "C" void __cdecl PropVariantInit(struct tagPROPVARIANT *)" (?PropVariantInit@@$$J0YAXPA
-
22-03-2016, 01:40 PM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Cái lambda này là bứng từ bên function-oriented đem qua [IMG]images/smilies/smile.png[/IMG]
Thực ra con trỏ hàm rất dở nên thay bằng cái này nhìn nó sáng. Nhưng để sử dụng đc thì cần thêm khai báo auto, vì type thật của loại này ngán lắm nên để compiler tự tìm kiểu là tốt. Thực ra auto đi với C thì có vấn đề nhưng với C++ lại hay.
Với lại bạn có thể viết hàm trong hàm với lambda expression [IMG]images/smilies/biggrin.png[/IMG]
Vừa qua, Chính phủ đã ban hành Quyết định số 2383/QĐ-TTg ngày 09/12/2013 về việc xếp hạng di tích quốc gia đặc biệt. Theo đó, khu di tích Đường Trường Sơn - Đường Hồ Chí Minh là 1 trong 14 kỷ vật...
Các relic, danh thắng được xếp...