Lehet-e egyedi statement-t írni C++11 nyelven?
Ilyesmire gondolok:
trap(valami kifejezés) {
utasítás1;
utasítás2;
...
}
És a trap utasítást szeretném deklarálni úgy, hogyha a kifejezés valamilyen értékeket ad vissza, akkor a blokkjához meghatározott utasítások működjenek.
Ehhez miért nem elég egy sima if? :)
Amúgy meg ahhoz hogy magát a nyelvet módosítsd, saját fordítót is kéne csinálnod, ami nyilván nem 2 perc.
Közben találtam egy kis workaroundot templattel valahogy így:
trap<type& t, value& v>(std::function<void>);
Templatetel futásidejű döntést nem tudsz csinálni. Nem is értem pontosan, mit szeretnél, egyelőre switchnek tűnik, az persze csak integrális típusokra működik.
Amúgy nem tudsz saját statementet csinálni.
Makrót tudsz csinálni. Assemblerhez pl. láttam már olyan makrógyűjteményt, amivel for ciklust, és egyéb összetett szerkezetet lehetett csinálni. :))
Én a helyedben a makróknak néznék utána.
Ez igaz. Olyasmire gondoltam, mint pl. a wxWidgets-et használó progikban az "IMPLEMENT_APP(appClass)", ami egy sorban magába foglalja kb. a teljes main loop-ot, meg a user osztályokon kívül a progi magját. :)
De ettől ez még persze nem lesz statement, viszont segíthet. Tényleg a céltól függ.
Respect. :)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!