c++ - 制作函数的编译时和运行时版本的最佳方法
问题描述
我有一个函数将被编译时和运行时函数(gtest
和 python ctypes
)调用。我需要一个模板版本和一个模板变量作为函数参数的版本。例如
template<int A, int B, int C>
void function_compiletime(int a, int b, int c) {
// code section 1
}
void function_runtime(int a, int b, int c, int A, int B, int C) {
// code section 2
}
与哪里// code section 1
相同// code section 2
。我很小心,我可能会不小心更改 in// code section 1
而不是 in 中的某些内容// code section 2
。如何强制要求函数的主体应该相同?
解决方案
制作函数的编译时和运行时版本的最佳方法
如何强制要求函数的主体应该相同?
通过定义单个 constexpr 函数:
constexpr void
function_runtime(int a, int b, int c, int A, int B, int C)
{
// code section
}
推荐阅读
- php - Laravel 7如何在对boostrap模态对话框窗口进行错误验证时重定向回来并在单击提交时保持模态
- python - pip install -r requirements.txt 错误,即使路径正确
- node.js - 静音命令中出现很多错误!(不和谐.js)
- typescript - typescript :类型检查作为参数传递的函数中的可选参数
- javascript - 如何在 if 条件下使用 reduce
- c# - 如何根据 C# 中另一列的值比较返回第一列的行值?
- ruby-on-rails - 翻译缺失:ar.activerecord.errors.models.address.attributes.area.required
- ios - Swift 5 中的 SKTexture 问题 - 内存不足(IOAF 代码 8)
- ansible - 检查 Chocolatey 是否安装在 Ansible 中
- java - Java,通过套接字发送 MouseEvents,我该怎么做?