跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • Online Tools
  • 用户
  • 群组
折叠
品牌标识

D2Learn Forums

  1. 主页
  2. Open Courses | 公开课
  3. mcpp-standard | 动手学 - 现代C++核心语言特性
  4. C++中的initializer_list获取列表长度并用于模板参数的编译期计算小示例

C++中的initializer_list获取列表长度并用于模板参数的编译期计算小示例

已定时 已固定 已锁定 已移动 mcpp-standard | 动手学 - 现代C++核心语言特性
cpp11编译期计算代码示例
1 帖子 1 发布者 6 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • SPeakS 离线
    SPeakS 离线
    SPeak d2learn-dev
    编写于 最后由 SPeak 编辑
    #1

    用 std::array的initializer_list + 一键计算字节的模板来演示用于模板参数的可能

    #include <iostream>
    #include <array>
    
    template <typename T, int SZ>
    struct Byte {
         static constexpr int size = sizeof(T) * SZ;
    };
    
    int main() {
        constexpr std::array<int, 4> arr {1, 2, 3, 4};
        std::cout << Byte<int, arr.size()>::size << std::endl;
        return 0;
    }
    

    50a93cd6-0573-478a-80c4-8de12bd9868a-image.png


    想法来自该视频评论区的讨论: https://www.bilibili.com/video/BV1vKuQzkEo2

    1 条回复 最后回复
    0
    • sunrisepeakS sunrisepeak 从 General Discussion | 综合讨论 移动了该主题

    • 登录

    • 没有帐号? 注册

    • 登录或注册以进行搜索。
    d2learn forums Powered by NodeBB
    • 第一个帖子
      最后一个帖子
    0
    • 版块
    • 最新
    • 标签
    • 热门
    • Online Tools
    • 用户
    • 群组