
Hi all, One of the few things I appreciate in Java is the labeled-break feature. I think C++ would provide it as well in future standard but it seems that there's no even such a proposal. In lack of the language feature, a simple emulation can be used: --------------------------------------------------- #define BOOST_SCOPE(name) \ if (const bool LABELED_SCOPE_##name = false){break(name); name:;} else #define break(name) \ (void)LABELED_SCOPE_##name; goto name; --------------------------------------------------- Now we can write: BOOST_SCOPE(a) { break(a); cout << "123\n"; } The real world usage would reside in nested loop&switch where labeled-break really shines. Thoughts? Sorry if this idea is too simple and somewhat rejected before...