如何使用 c++ 中的循环生成代码

How to generate code using a loop in c++?

本文关键字:代码 循环 何使用 c++      更新时间:2023-10-16

是否可以在 c++ 中将原始字符串转换为代码?

例如,我有一个字符串

string s = "cout << "Hello World";";

我想以编程方式生成该代码。也许我想将该代码动态插入程序的各个部分。

cout << "Hello World";

另外,是否可以使用 c++ 中的循环生成代码,也许使用预处理器指令?

看起来你想要类似于Lisp,Python,perl和许多其他语言提供的eval函数。

C++没有这样的能力。从设计上讲,它根本不存在。

解决此缺失功能的一种方法是让程序编写程序,将其存储在文件中,调用编译器,然后调用编译器生成的可执行文件。这很丑陋。你所做的任何事情都会相当丑陋。

是否可以在 c++ 中将原始字符串转换为代码?

C++通常是一种编译语言。这使您要做的事情变得棘手。为了实现你所说的,你需要在运行时解释代码(在这种情况下,最好通过绑定到脚本语言(如Python或Lua)来服务),或者嵌入或调用C++编译器并将代码传递给它,然后运行它。

这可能是

一个XY问题,并且您正在查看的解决方案对于您尝试解决的实际根本问题来说过于复杂。描述您为什么要这样做可能是一个想法,因为可能有一种更简单的方法来实现您想要的最终结果。