2010-12-12 25 views
5

Chỉ cần nghiên cứu bài kiểm tra và tôi không thể tìm thấy câu trả lời cho câu hỏi này trong ghi chú của mình. Bất kỳ sự trợ giúp nào đều sẽ là tuyệt vời.Ưu điểm của việc truyền chức năng dưới dạng tham số

Nhiều ngôn ngữ cho phép chương trình con/hàm được chuyển thành tham số . Liệt kê hai lợi thế được cung cấp bởi điều này, và thúc đẩy mỗi lợi thế với một ví dụ giải thích rõ ràng (điều này không cần mã của giả mã).

Trả lời

0

Tôi trả lời đơn giản là chức năng được chuyển có thể được sử dụng làm chức năng gọi lại.

Khi hàm hoàn thành công việc, nó sẽ gọi hàm gọi lại với hoặc đối số w/o.

2

Ưu điểm chính là nếu hàm được gọi là gọi hàm khác, bạn có thể sửa đổi hành vi của hàm được gọi bằng cách xác định hàm nào khác được gọi.

Xin lỗi, ngoài ra, bạn sẽ cần phải làm bài tập về nhà của riêng bạn.

0

Áp dụng một hành động nhất định cho tất cả thành viên của bộ sưu tập. (ví dụ: vuông mỗi số trong đó).

1

Một trong những điều vượt qua chức năng 'hành động' với phương thức mang lại là khả năng thực hiện một hành động chống lại một bộ sưu tập mà không để lộ phần bên trong của bộ sưu tập đó.

Sử dụng điển hình là, lặp qua bộ sưu tập riêng tư gọi hàm được truyền trên mỗi mục.

Phương thức khác là phương thức gọi lại.

+0

Chẳng hạn như, ví dụ, sử dụng 'std :: transform' của C++ để áp dụng hàm thư viện chuẩn' toupper() 'cho toàn bộ chuỗi cùng một lúc. –

0

Hãy xem xét một hàm sắp xếp một mảng các đối tượng dựa trên phân loại so sánh. Một hàm như vậy cần một cách để so sánh 2 đối tượng và cho biết cái nào lớn hơn cái kia. Bạn có thể chuyển một hàm sắp xếp chung như một con trỏ tới mảng và một con trỏ tới hàm giúp nó so sánh bất kỳ 2 đối tượng nào.

Xem sắp xếp của STL làm ví dụ.

1

Hãy suy nghĩ bạn là người quản lý của một ca sĩ quyến rũ (trong đời sống máy tính: một chương trình), theo hai cách sau để bắt đầu buổi sáng của bạn.

Trường hợp 1: Bạn phải nói với một số thuộc hạ để làm sau a) có được bữa ăn sáng cho ngôi sao và rất cẩn thận với các loại bánh sừng bò cô ấy thích, hãy nhớ cô ấy rất buồn khi cô tỉnh dậy vv .. b) Đặt tất cả các loại cáp trên các giai đoạn sử dụng như vậy và như vậy điện đèn này, nhưng không phải là một, những màu sắc ...

Trường hợp 2: Hãy hỏi thuộc hạ của bạn: Yêu cầu Majordomo để cung cấp cho chúng tôi sao cô bữa sáng thông thường. Sau đó yêu cầu phi hành đoàn chăm sóc sân khấu cho các bài hát thông thường.

Trường hợp Một sai lầm so với quan điểm của máy tính, đó là cách điển hình của cách làm nhanh chóng và dơ bẩn. Có bạn có anh chàng trong tầm tay nhưng anh ta đang làm tất cả các việc vặt và xử lý một số trách nhiệm của các loại khác nhau để anh ta có thể bối rối và hơn thế nữa trật tự là dài và chi tiết.Trong tình huống hai bạn đang ủy nhiệm, điều này xử lý sự phức tạp, thứ tự ngắn, chúng tôi biết ai đang làm công việc nào để chúng tôi không tìm thấy một bóng đèn màu hồng khổng lồ trong tách trà của ngôi sao (bạn nghĩ rằng đó là một trò đùa nhưng đó chính xác là lỗi là gì). Trong một vài từ phức tạp được phân vùng một cách có ý nghĩa.

Nếu bạn không thấy lý do tại sao tình huống hai giống như chức năng gọi điện thoại ở đây là một mã giả.

extern FUNCTION majordomo (khách hàng, dịch vụ, tùy chọn);
nhóm FUNCTION bên ngoài (nhiệm vụ, tùy chọn);

CHỨC NĂNG startMorning() BEGIN

gọi (thuộc hạ, Majordomo (for_ourstar, usual_breakfast, she_is_picky));
cuộc gọi (thuộc hạ, phi hành đoàn (cáp thông thường, đèn sáng));
END

Các vấn đề liên quan