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:
- Làm thế nào giao tiếp giữa 2 application với VC++?
- Lambda Expression
- Chỉ cho phép nhập số vào TextBox trong visual C++, làm như thế nào?
- Xử lý kiểu DateTime trong VC++ 2008
- Có thể ghi file khi file đang chạy hay không?
- VC++2005 và DLL
- Xây dựng chương trình đồng hồ hẹn giờ trên VC++. Giúp mình cách làm?
- Code xuất file từ resource dll, lỗi: xuất ra 1 file mà nó chẳng có gì cả
- Sử dụng Visual Studio 2010 biên dịch mã C++ kết quả toàn chữ Tàu?
- Lỗi biên dịch VC++: A tool returned an error code from Performing Makefile project actions
-
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]
Không chỉ dừng lại ở việc sử dụng nguyên liệu cao cấp, mỗi công trình còn được "chăm sóc" bằng 4 dịch vụ xuất sắc của Tre Nghệ. Từ việc tư vấn, thiết kế đến thi công và hoàn thiện, mọi quy trình đều...
Chất Lượng và Sáng Tạo: Kiến Trúc...