当前位置: 首页 > 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/a/108241.html

相关文章:

  • ODOO学习笔记(8):模块化架构的优势
  • 彻底理解ARXML中的PDU
  • 深入理解接口测试:实用指南与最佳实践5.0(二)
  • GitLab 如何跨版本升级?
  • 探索 HTTP 请求方法:GET、POST、PUT、DELETE 等的用法详解
  • Debezium日常分享系列之:异步 Debezium 嵌入式引擎
  • 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使用详解