Tôi nghĩ rằng sự kiện có thể được ném, nhưng mã hóa không đủ năng lực nếu bạn thực sự làm.
Hãy để tôi giải thích. Trong C++ bạn có thể ném bất kỳ loại nào. Bạn có thể ném booleans. Bạn có thể ném enum error_type
. Bạn có thể ném std::exception
. Và tất nhiên bạn có thể ném struct XEvent
.
Nhưng bạn rất có thể đang làm điều gì đó khủng khiếp sai hoặc gây nhầm lẫn khủng khiếp (và do đó sai) nếu bạn thực sự làm.
Tôi là tất cả vì không quá tải ý nghĩa của từ, để tránh sự mơ hồ (nơi không cần phải tồn tại).
Tôi nghĩ rằng "ném" thường được hiểu là ngụ ý ngăn xếp cuộc gọi (khi bạn có một ngăn xếp được xác định rõ ràng, nhưng tôi nghĩ rằng nó có thể được mở rộng đến một danh sách liên kết đơn lẻ không giới hạn ở mức độ) cây của con trỏ cha mẹ). Hãy dính vào đó.
Từ "nâng cao" cũng được sử dụng cho tín hiệu. Thật tuyệt nếu có thể tránh sử dụng điều này cho các sự kiện.
Tôi thích "bị sa thải" khi sự kiện xảy ra ("sự kiện onMouseOver vừa được kích hoạt") và có thể "được báo hiệu" khi người nghe sự kiện thông báo cho người tiêu dùng ("sự kiện XMouseMotionNotify được báo hiệu cho khách hàng").
Nguồn
2009-05-27 17:42:03
Không, chúng không thể bị ném, nhưng cũng giống như người lùn và hobbit, chúng có thể bị ném. –