std::tie 如何返回多个值
Kong Liangqian Lv6

假设有两个变量,需要赋值

1
2
NodeOptions node_options;
TrajectoryOptions trajectory_options;

我们可以一次性通过std::tie 进行赋值

1
2
std::tie(node_options, trajectory_options) =
LoadOptions(FLAGS_configuration_directory, FLAGS_configuration_basename);

其中LoadOption的定义和返回值应该为

1
2
3
4
5
6
std::tuple<NodeOptions, TrajectoryOptions> LoadOptions(
const std::string& configuration_directory,
const std::string& configuration_basename) {
...
return std::make_tuple(CreateNodeOptions(&lua_parameter_dictionary),
CreateTrajectoryOptions(&lua_parameter_dictionary));
 Comments