c++ - 如果在 constexpr 函数之前调用非 constexpr 函数会发生什么
问题描述
在我的课程中,在 constexpr 函数之前调用了一个非 constexpr 函数。第一个不能是 constexpr 因为它是一个 API 调用,但我希望在编译时评估第二个。
class MyClass
{
...
int m_val = 0;
constepxr void changeval(int newval) { this.m_val = newval; }
...
MyClass()
{
if(WriteProcessMemory(...)
{
this->changeval(12);
}
}
那么在这种情况下会发生什么?changeval 会被评估两次吗?完全没有被击中吗?是否跳过了包括 WPM 调用在内的整个代码块?
解决方案
推荐阅读
- r - R 数据框操作 - 用 df1 中的相应行替换 df2 的元素
- ios - 在侦听器不断触发后,Firestore 无法获取完整文档
- java - Spring RestAPI 的 AJAX POST 方法不起作用
- json - 基于 json 遍历结构数组导致预览失败
- android - 应用内计费:我们可以在应用内动态创建订阅吗?
- gradle - 使用 Gradle 在插件中配置 Zip/Copy 任务
- c++ - 为什么错误一直返回“变量的类型不完整”?
- linux - umask 值为 457 时,它应为 w, x, - 210 (666-457),但我将其视为 w,w,-..(220)。这是为什么?
- python - txt文件转换成数据框
- java - 为什么匿名类在 Java 中不能有静态成员(最终成员除外)?