当前位置: 首页 > article >正文

C++(20):consteval

通过constexpr修饰的函数,如果传递了非常量表达式参数,那么函数将退化为普通函数,可以参考:

C++(14):constexpr函数_风静如云的博客-CSDN博客

C++20增加了关键字 consteval,强制要求只能使用常量表达式参数:

#include <iostream>
using namespace std;

consteval int doPow(int a, int b)
{
  int m = 1;
  for(auto i = 0; i < b; ++i)
  {
	  m = m * a;
  }
  return m;
}

int main()
{
	int n = doPow(2, 4);
	cout<<n<<endl;
	//doPow(n, n);    //编译报错,不允许使用变量参数
	return 0;
}


运行程序输出:
16


http://www.kler.cn/news/108241.html

相关文章:

  • Python 算法高级篇:归并排序的优化与外部排序
  • 【电路笔记】-交流波形和交流电路理论
  • MFC Windows 程序设计[343]之捕获全屏图片裁剪(附源码)
  • 【Docker 内核详解】cgroups 资源限制(一):概念、作用、术语
  • C++多态(超级详细版)
  • 28 行为型模式-中介者模式
  • 2023高频前端面试题-http
  • Spring Boot 优雅配置yml配置文件定义集合、数组和Map
  • PG物理备份与恢复之pg_basebackup
  • 深入探究ASEMI肖特基二极管MBR60100PT的材质
  • 【PWN · heap | Off-By-One】Asis CTF 2016 b00ks
  • css列表样式
  • Spring Authorization Server入门 (十九) 基于Redis的Token、客户端信息和授权确认信息存储
  • 前端小技巧: TS实现数组转树,树转数组
  • LeetCode--196. 删除重复的电子邮箱
  • C++ 笔记
  • 深入了解 Elasticsearch 8.1 中的 Script 使用
  • 【swagger动态配置输入参数忽略某些字段】
  • 如何确定Apache Kafka的大小和规模
  • Azure - 自动化机器学习AutoML Azure使用详解
  • ruoyi vue前后端分离功能介绍
  • 基于 Redis + Lua 脚本实现分布式锁,确保操作的原子性
  • Web APIs——事件流
  • 【CSDN 每日一练 ★★☆】【字符串】外观数列
  • golang连接池检查连接失败时如何重试
  • Linux网络编程01
  • npm更新包时This operation requires a one-time password.
  • 数学家陶哲轩在形式证明帮助下发现论文中错误
  • moviepy处理手机端图片旋转问题
  • JAVA同城服务智慧养老小程序怎么开发?