typedef一个重载的函数

时间:2014-03-12 16:44:27

标签: c++ overloading typedef

您可以输入数据类型:

typedef String std::string;

您可以输入定义函数

typedef String itos(int val);
itos std::to_string;

如何键入定义重载函数

例如

typedef String to_string(all overloads);
to_string std::to_string;

1 个答案:

答案 0 :(得分:1)

在C ++中,重载机制允许调用具有相同名称但不同参数类型的函数。每个重载函数都有不同的类型(实际上它们都是独立的函数)。对于每个这样的函数,编译器生成decorated names个函数,将参数类型添加到函数名中,以便链接器可以区分它们。

typedef不会创建单独的类型。因此,您无法将多种类型与一个typedef声明匹配,这是不可能的。在C ++ 11中,您可以使用using类型别名而不是typedef,它具有更清晰的语法。