いつの間にか gcc 4.8 に Inheriting constructors が実装されていた

lingr で聞かれて調べていたんですが、いつの間にか gcc 4.8 に Inheriting constructors が実装されていました。


と、いうことでここから gcc 4.8 のバイナリを落としてきて試しました。

[ソース]

struct base{
    constexpr base(int value) : value(value){}
    
    constexpr int
    get_value() const{
        return value;
    }
private:
    int value;
};

struct X : base{
    using base::base;
};

int
main(){
    constexpr X x{42};
    static_assert(x.get_value() == 42, "");
    return 0;
}


おー動いた動いた。
Inheriting constructors 要らない子扱いされていますが、オブジェクト指向フレームワークを扱っている場合は結構欲しい気がする。