MyFunc(int, double, string)我的项目中有一个已实现的功能.例如,如何使用具有其字符串表示的必要参数来调用此函数
std::string str = "MyFunc(2, 3.12, \"Lemon Juice\")";
Run Code Online (Sandbox Code Playgroud)
并且怎么样的标准功能,例如,我怎么能调用time()有std::string "time()"?
好的,这是更详细的任务.我有一个map <string, Data>
Data包含许多孩子的类包装器.当我调用Data.GetValue()方法时,它返回一个std::string,取决于子类内部数据.其中一个子项Data必须返回int另一个字符串表示形式 - 字符串表示形式double,最后一个 - 当前日期和时间的字符串表示形式.这是问题 - 我不知道如何调用标准函数ctime()来获取其中一个Data孩子的信息.
通常,您不能在 C++ 中执行其源代码包含在字符串中的代码。也许最引人注目的动机是 C++ 实现不需要在代码运行的机器上有 C++ 编译器,尽管它的意义远不止于此。
您也许可以针对特定情况执行此操作。那可能是:
特定于平台的,例如:
输入特定,例如:
听起来好像在您的任务中您有一个字符串是以下之一:
intdouble您没有说出您想对该字符串执行什么操作,但无论它是什么,您可能都需要 (a) 检查该字符串以找出它是这三个字符串中的哪一个,然后 (b) 执行适合该格式的操作。更好的是,您可以赋予派生类返回相同表示的责任,无论这三个GetValue()返回中的哪一个。例如,如果您真正想要的是自 1970 年以来的秒数,请添加一个GetSecondsSinceEpoc函数,并在每个类中以不同的方式实现它。
| 归档时间: |
|
| 查看次数: |
604 次 |
| 最近记录: |