首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MFC中类似CList的特性?

MFC中类似CList的特性?
EN

Stack Overflow用户
提问于 2012-05-31 23:58:26
回答 2查看 532关注 0票数 1

我已经看过一些关于CList的教程,它似乎比C++ STL的std::list功能丰富得多。尤其吸引我注意的是,我可以通过值搜索CList,它将返回一个位置(假设所有值都是唯一的,在我的例子中总是如此)。我正在尝试使用boost智能指针列表。使用指针的值查询列表或快速更改位置值以跳转到元素对我来说是非常方便的。有没有专门的列表库可以让我这样做?

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-01 00:11:58

我不需要调用比STL功能更丰富的MFC,但它肯定比自由函数和模板接口更有利于成员方法和继承的设计。

您可以使用algorithm中的函数(如std::findstd::find_if等)搜索元素,这些函数通常也适用于vector等STL容器。

对于您的特定情况,您可能希望执行以下操作:

代码语言:javascript
复制
#include <list>
#include <algorithm>

typedef std::list<int> IntList;
int nums[] = { 1,2,3,4,5,6,7,8,9 };
IntList numbers(nums, nums + sizeof(nums) / sizeof(int));
IntList::const_iterator found = std::find(numbers.begin(), numbers.end(), 7);
if (found != numbers.end())
    ;// then found is an iterator to the element containing the value 7
else
    ;// didn't find

现在,至于在Linux上获得类似MFC的行为,我推荐Qt。它是一个巨大的跨平台框架,有很多有用的东西。更好的是,它是开源和免费的,并带有自己的集成开发环境,称为QtCreator,这也不算坏。

票数 2
EN

Stack Overflow用户

发布于 2012-05-31 23:59:35

是的,有。它在标准的头文件中,即函数模板std::find中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10837120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档