【发布时间】:2021-12-08 20:55:48
【问题描述】:
我正在寻找一种允许记录函数输入参数的功能。例如:
void func(std::string& input_name, const int n){
// print current function's inputs' type, name, and value
}
函数调用后,会打印或读取字符串,
input1:
type: std::string,
name: input_name,
value: "something",
input2:
type: int,
name: n,
value: 12,
有人对这样的目标有建议吗
------------编辑
如果无法打印类型或名称,我也可以。 我对接近此的解决方案很灵活,例如我们是否可以获得输入参数列表等。
【问题讨论】:
-
要进行字符串化,目前必须使用 MACRO。
-
C++ 没有 introspection 所以这不可能自动化。预期的输出只能通过打印实际类型和变量名来实现。
-
@Someprogrammerdude 是否意味着我们必须明确地写出打印的输入值的名称,或者有没有办法获取它们的列表
-
你想在函数中获取类型名称,以便在函数中写
cout << type_of_arg或类似的东西吗?或者您是否正在寻找某种自动化方式来打印所有功能的信息?我不完全清楚你在找什么。 -
您可以使用普通输出流和
<<打印出的值。变量名称和类型需要硬编码。