对于复杂的应用程序,具有不仅仅返回一个值的函数通常很方便。从C ++使用结构到利用最新的C ++ 11元组类模板,有很多不同的方法可以用C ++实现。
在很多情况下,返回对象的明显选择似乎有些过大。首先,您需要声明结构。很少有这种结构需要供消费者使用,因此您必须将其公开给外界。实例的构建也是没人喜欢进行的另一种仪式活动。
幸运的是,如果该函数仅返回两个值,则可以使用std :: pair。最有可能的,make_pair将被用来构建对。可以分别使用first和访问该对中的每个元素second。在以下示例中对此进行了说明:
std::pair<std::string , int> findPerson() { return std::make_pair("Joe Sixpack", 42); } int main(int, char**) { std::pair< std::string, int> person = findPerson(); std::cout < < "Name: " << person.first << std::endl; std::cout << "Age: " << person.second << std::endl; return 0; }
如果您需要两个以上的值怎么办