2019-11-07

Using enum

C++20にはusing enumが入る。この機能、すっかり見逃していた。

どのような機能かというと、scoped enumを名前空間のusing directiveのように使うことができる。

using enumがないと以下のように書かなければならないが


enum struct color { red, green, blue } ;

void f( color c )
{
    switch( c )
    {
        case color::red :
            break ;
        case color::green :
            break ;
        case color::blue :
            break ;
    }
}

using enumを使えば以下のように書ける。


enum struct color { red, green, blue } ;

void f( color c )
{
    using enum color ;
    switch( c )
    {
        case red :
            break ;
        case green :
            break ;
        case blue :
            break ;
    }
}

scoped enumは暗黙の型変換をしないので、従来のenumに変わって使われるべきだが、いちいちenum名を修飾子なければならないのは面倒だ。そこで、名前空間のusingディレクティブのような機能、using enumが追加された。

7 comments:

Selachimorpha said...

Thank you for your thoughtfulness
https://sabunlicin.com/
http://www.darajulolori.com/
http://www.aleapullumreliable.com/
http://www.doragonbetto.net/
http://www.muchinahito.net/
http://www.rakkibeta.net/

Selachimorpha said...

Thank you for all that you have given to me, hopefully all of these are useful for all of us
http://www.graniewpilki.com/
http://www.pokagyanburusaito.net/
http://www.daftarnegaramiskin.com/
https://www.ceritamitosdunia.web.id/
http://www.daftaranjingpopuler.web.id/

Selachimorpha said...

Thank you for your attention
http://www.balengrup.com/
http://www.gosotrailers.com/
http://www.adbuildding.com/
http://www.ascentoysrs.com/
http://www.baybackwindow.com/

Odobenus rosmarus said...

Please accept my best thanks
https://gamesjoker123.net/
https://www.slotonlineosg777.com/
https://www.loginsbobett.com/
https://www.arenatangkasnet.com/
https://www.joker123gamings.com/

Odobenus rosmarus said...

Thank you for your help
http://www.daftar-pokeronline.net/
http://www.poker-idnplay.org/
http://www.idnpoker99apk.org/download-idn-poker/
https://www.akunidnplay.com/
http://www.idn-pokeronline.com/

Odobenus rosmarus said...

Thank you for the time
http://www.poker77apk.org/
https://www.idnpoker88asia.com/
http://www.daftarakunidnplay.com/
https://108.179.216.181/
http://www.poker99online.net/

sukaja said...

Idnplay
IDN Poker88 | Situs Poker Deposit Pulsa | Agen Poker Terpercaya
Agen Resmi Poker Idnplay Terpercaya dan resmi Lesensi ayok join sekarang juga untuk mendapatkan promo2 terbaik dari situs agen poker online sekarang juga !!