首页| JavaScript| HTML/CSS| Matlab| PHP| Python| Java| C/C++/VC++| C#| ASP| 其他|
购买积分 购买会员 激活码充值

您现在的位置是:虫虫源码 > C/C++/VC++ > 使用 C++11 的编译时循环:创建普遍化的static_for 实现

使用 C++11 的编译时循环:创建普遍化的static_for 实现

  • 资源大小:6.81 kB
  • 上传时间:2021-06-29
  • 下载次数:0次
  • 浏览次数:0次
  • 资源积分:1积分
  • 标      签: Programming c++

资 源 简 介

翻译  maninwest@Codeforge 作者 Michael Gazonda@Codeproject这是创建在编译时循环的模板元编程的方法。介绍:最近,我发现了一个有趣的问题:如何在编译时轻松循环?我想写一个  static_for 方法来简化一些  template 代码。但是因为没有需要,就没有写。最近我需要测试一些编译时码,同时需要循环。内建工具不大够用,所以…请看我的static_for!如果你想在编译时循环,这个代码会对你非常有用。如果你对模板元程序设计有兴趣,这个如何做出的方法也会让你感兴趣。要求:支持  C++11  或者以上版本的编译器。解决当前Visual Studio缺乏对使用的  enums  的constexpr 支持的方法,以及更多模板。问题在编译时循环。在运行时循环很容易:for (int i = 0; i < upper_bound; ++i){    do_stuff(i);}由于我们要在编译时工作,解决方案就不这么简单了,我想这么做:template void do_stuff(){    // stuff}for (int i = 0; i < 1000; i++){    do_stuff();}但是,这不管用。i 是运行时计数器, do_stuff() 需要编译时compile-time 计数器。今天,我将带领你体验一下我是如果创建一个普遍化的解决方案的,你也会在此了解我创建这么复杂的东西时遇到的陷阱和推理。相关主题:模板元程序设计标记分配尾部递归模板实例化

文 件 列 表

static_for
.DS_Store
static_for.cpp
static_for.h
static_for.hpp
static_for.vcxproj
static_for.vcxproj.filters
static_for_old.h
VIP VIP
0.173218s