小编pav*_*nko的帖子

创建 1 个元素的集合的最佳\最简单\最快方法是什么?(C++)

有时我需要用户类型的 1 个元素的集合(或任何其他容器)并以这种方式创建它们:

boost::assign::list_of(typeVariable).convert_to_container<std::unordered_set<UserType> >()
Run Code Online (Sandbox Code Playgroud)

有谁知道更漂亮的方法吗?

PS: 例如,我们有任何业务逻辑 API,它搜索元素,并且它采用类型集(或另一个容器)进行选择。不同的用户可以访问不同的类型。我们也可以选择任何一种类型进行过滤,在这种情况下,我们将从过滤选项中采用这种类型。

所以我只是想要一种用 1 行编写代码的简单方法。我当前的版本是:

getElements(filter.type != UNDEFINED
            ? boost::assign::list_of(filter.type).convert_to_container<std::set<UserType> >()
            : std::set<UserType>(allowedTypes.begin(), allowedTypes.end()))
Run Code Online (Sandbox Code Playgroud)

c++ boost stl set c++11

6
推荐指数
2
解决办法
1375
查看次数

标签 统计

boost ×1

c++ ×1

c++11 ×1

set ×1

stl ×1