我正在用 C++ 编写一个愚蠢的小应用程序来测试我的一个库。我希望应用程序向用户显示命令列表,允许用户键入命令,然后执行与该命令关联的操作。听起来很简单。在 C# 中,我最终会编写一个命令列表/映射,如下所示:
class MenuItem
{
public MenuItem(string cmd, string desc, Action action)
{
Command = cmd;
Description = desc;
Action = action;
}
public string Command { get; private set; }
public string Description { get; private set; }
public Action Action { get; private set; }
}
static void Main(string[] args)
{
var items = new List<MenuItem>();
items.Add(new MenuItem(
"add",
"Adds 1 and 2",
()=> Console.WriteLine(1+2)));
}
关于如何在 C++ 中实现这一点的任何建议?我真的不想为每个命令定义单独的类/函数。我可以使用 Boost,但不能使用 TR1。