您可以获得的最接近的是使用C ++ 0x功能从可变参数模板参数列表初始化模板的本地或成员数组。

这当然受到最大模板实例化深度的限制,并且必须测量实际上在您的情况下显着差异。

例:

template struct ArrayHolder {

static const unsigned data[sizeof...(args)];

};

template

const unsigned ArrayHolder::data[sizeof...(args)] = { args... };

template class F, unsigned... args>

struct generate_array_impl {

typedef typename generate_array_impl::value, args...>::result result;

};

template class F, unsigned... args>

struct generate_array_impl<0, F, args...> {

typedef ArrayHolder::value, args...> result;

};

template class F>

struct generate_array {

typedef typename generate_array_impl::result result;

};

适用于您的1..5情况:

template struct MetaFunc {

enum { value = index + 1 };

};

void test() {

const size_t count = 5;

typedef generate_array::result A;

for (size_t i=0; i

std::cout << A::data[i] << "\n";

}

在C 编程语言中 静态数组的替代模板,以编译方式在C ++中编译时创建静态数组...相关推荐

  1. c++中int向量初始化_以不同的方式在C ++中初始化2D向量

    c++中int向量初始化 Prerequisite: Initialize 1D vector 先决条件: 初始化一维向量 Before discussing about the initializa ...

  2. 什么是html的编码方式,HTML网页中“&#19978;”是什么编码方式啊?网页中&# 爱问知识人...

    字符集集成在ie内核 汉字与特殊符号编码的前缀!比如以下 19968 一 20967 凧 21966 吗 19969 丁 20968 凨 21967 嗏 19970 丂 20969 凩 21968 嗐 ...

  3. android中文本框的居中,android – 以编程方式在TextView中居中文本

    我以编程方式创建了一个TextView,文本和背景可绘制.我想将文本居中在TextView中,但文本居于顶部. 这是我在TextView中居中文本的代码: protected class TileVi ...

  4. 在Linux中创建静态库.a和动态库.so

    转自:http://www.cnblogs.com/laojie4321/archive/2012/03/28/2421056.html 在Linux中创建静态库.a和动态库.so 我们通常把一些公用 ...

  5. 在Linux中创建静态库和动态库 (转)

    我们通常把一些公用函数制作成函数库,供其它程序使用.函数库分为静态库和动态库两种.静态 库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库.动态库在程序编译时并不会被连接到目标代码中,而 ...

  6. 无法创建t的通用数组_创建通用数组的问题

    无法创建t的通用数组 在这篇文章中,我们将介绍一篇全面的文章,其中介绍了创建通用数组的问题. Java编程语言于2004年9月在Java 5.0" Tiger"发行版中添加了泛型. ...

  7. linux进程看门狗使用方式,Linux系统中基于看门狗的精细化进程监控方法及系统的制作方法...

    Linux系统中基于看门狗的精细化进程监控方法及系统的制作方法 [技术领域] [0001] 本发明涉及Linux系统的进程监控技术领域,特别是涉及一种Linux系统中基于看 门狗的精细化进程监控方法及 ...

  8. arraylist扩容是创建新数组吗 java_Java 基础数据结构分析

    java -version java version "13.0.2" 2020-01-14 Java(TM) SE Runtime Environment (build 13.0 ...

  9. PHP数组循环遍历的四种方式

    [(重点)数组循环遍历的四种方式]  1.使用for循环遍历数组      conut($arr);用于统计数组元素的个数.      for循环只能用于遍历,纯索引数组!!!!      如果存在关 ...

最新文章

  1. 《Nature》挑战进化DNA突变理论!
  2. 一篇文章带你搞定Python返回函数
  3. 心电图多少为正常范围_研究:心跳超过70次/分,至少减寿3年!正常心率范围是多少?...
  4. 如何让页面动起来?支付宝2020新春红包前端3D技术揭秘
  5. 推荐一个在线全自动智能图片背景扣除工具,效果杠杠的
  6. 如何在html指定css,如何在LESS CSS嵌套类上指定html标记?
  7. redis远程连接不上_redis连接认证及bind的注意事项
  8. [Oracle] 别被View 整伤了
  9. checkbox 点击搜索失去焦点_早些年植入三焦点晶体矫正老花的人,现在怎么样了?...
  10. js 笔记 -- 随机生成颜色值
  11. 如何解密单片机内程序?
  12. ant安装配置使用介绍及eclipse中使用
  13. 生活之美--需要设计
  14. 彼得·林奇的25条黄金规则
  15. StyleGAN生成模型
  16. 微信公众号【黄小斜】和【Java技术江湖】
  17. [21S01][1136] Column count doesn‘t match value count at row 1 报错分析
  18. 30个漂亮的网页设计案例(组图)
  19. 开课吧JAVAEE学习首周感受
  20. 怎么申请电子邮箱账号?单位电子邮箱怎么申请?

热门文章

  1. Java基础学习总结(93)——Java编码规范之代码性能及惯例
  2. 后台模拟页面登陆_模拟炒股软件支付宝同花顺都可以快速体验炒股
  3. 《PIC微控制器项目设计:C语言》一第2章 mikroC Pro for PIC编程语言
  4. 东部分布式光伏迎来发展高潮
  5. Spring学习4-面向切面(AOP)之Spring接口方式
  6. Java代码中的注释详解
  7. [转载] AUML——Supplement Documents
  8. CentOS7虚拟机优化
  9. 关于 LDTP 操纵 windows 控件。
  10. nginx 配置虚拟主机