如何创建一个返回传递的参数名称的函数

Mon*_*ldo 0 c++ function

我正在寻找一种创建命名服务的方法.基本上我需要一个接受任何东西作为参数的函数,并返回给定参数的名称.这可以是任何东西,类,功能,变量等.

std::string name(T t)
{
  if t is a function 
    return __func__ of t

  if t is a variable 
    return name of variable.
}
Run Code Online (Sandbox Code Playgroud)

有什么建议?

Jon*_*ely 7

C++不是正确的语言,它根本没有反射功能,你不能对待"任何东西,类,函数,变量等".均匀.您不能将类传递给函数,或将函数传递给函数,它们不是对象.


Jar*_*d42 5

有了MACRO,你可以这样做

#define name(n) #n
Run Code Online (Sandbox Code Playgroud)

字符串化给定的参数.