网站首页 文章专栏 C++17实现编译期排序
C++17实现编译期排序
编辑时间:2019-12-19 15:03:59 作者:qicosmos 1条评论


    出自:purecpp

    地址: www.purecpp.org

    转载请注明出处!


来说两句吧
登录才能发表评论。
最新评论
  • qicosmos
    康桓瑋 2020-08-08 02:56:01

    C++20似乎讓事情變得容易了許多:)以下代碼GCC-10可正常編譯:

    template <typename Int, Int... values>

    constexpr auto sort(std::integer_sequence<Int, values...>) {

    constexpr auto array = [] {

    // class template argument deduction will failed when sizeof...(values) == 0

    // std::array array{values...};

    std::array<Int, sizeof...(values)> array{values...};

    std::ranges::sort(array);

    return array;

    }();

    return [&array]<std::size_t... index>(std::index_sequence<index...>) {
    return std::integer_sequence<Int, array[index]...>{};
    }(std::make_index_sequence<sizeof...(values)>{});
    }

Absolutely

purecpp

一个很酷的modern c++开源社区


[社区开源项目列表,点击前往]


purecpp社区自2015年创办以来,以“Newer is Better”为理念,相信新技术可以改变世界,一直致力于现代C++研究、应用和技术创新,期望通过现代C++的技术创新来提高企业生产力和效率。


社区坚持只发表原创技术文章,已经累计发表了一千多篇原创C++技术文章;


组织了十几场的C++沙龙和C++大会,有力地促进了国内外C++开发者之间的技术交流;


开源了十几个现代C++项目,被近百家公司所使用,有力地推动了现代C++在企业中的应用。


期待更多的C++爱好者能参与到社区C++社区的建设中来,一起为现代C++开源项目添砖加瓦,一起完善C++基础设施和生态圈。


purecpp社区邮箱: purecpp@163.com


友情链接