Penso che gli eventi possano essere lanciati, ma è una codifica incompetente se lo si fa realmente.
Lasciatemi spiegare. In C++ puoi lanciare qualsiasi tipo. Puoi lanciare booleani. Puoi lanciare enum error_type
. Puoi lanciare std::exception
. E ovviamente puoi lanciare struct XEvent
.
Ma molto probabilmente stai facendo qualcosa di orribilmente sbagliato o orribilmente confuso (e quindi sbagliato) se lo fai davvero.
Sono tutti per non sovraccaricare i significati delle parole, per evitare l'ambiguità (dove non è necessario esistere).
Penso che "throw" sia comunemente inteso come implicito nello stack stack (per quando si dispone di uno stack ben definito, ma penso che possa essere esteso a un elenco collegato singolarmente di in-degree illimitato, ovvero un albero dei puntatori genitore). Rimaniamo fedeli a questo.
La parola "raise" viene utilizzata anche per i segnali. Sarebbe bello se fosse possibile evitare di usarlo anche per gli eventi.
Preferisco "licenziato" per quando si verifica l'evento ("l'evento onMouseOver appena attivato"), e forse "è stato segnalato" quando il listener di eventi notifica al consumatore ("l'evento XMouseMotionNotify è stato segnalato al client").
fonte
2009-05-27 17:42:03
No, non possono essere lanciati, ma molto come i nani e gli hobbit, possono essere lanciati. –