gpt4 book ai didi

c++ - 是否有更简洁的方法来包含基于宏定义部分名称的文件?

转载 作者:行者123 更新时间:2023-11-30 05:32:09 26 4
gpt4 key购买 nike

基于用户定义的数值宏PROBNO,我想包含一个文件"prob[PROBNO].hpp",并运行同名函数, 概率 [PROBNO]()。这里的问题是我需要包含文件的引号,因为 < > 给我一个找不到文件的错误。我目前正在做以下事情:

#define STRINGIFY2(x)#x
#define STRINGIFY(x)STRINGIFY2(x)
#define CONCAT2(x,y)x##y
#define CONCAT(x,y)CONCAT2(x,y)
#define PROBNAME CONCAT(prob,PROBNO)
#include STRINGIFY(PROBNAME.hpp)
#include<iostream>
int main(){
std::cout<<PROBNAME()<<'\n';
}

这样就可以了,但是看起来很乱。有什么办法可以摆脱一些指令吗?

最佳答案

使用角度而不是引号:

#define PROBNAME <prob PROBNO.h>

#include PROBNAME

关于c++ - 是否有更简洁的方法来包含基于宏定义部分名称的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35244959/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com