草庐IT

Find_all

全部标签

C++ STL,常量迭代器,find()

我目前正在学习STL,我对find和const迭代器有一些不确定性。假设我有一个查找功能:some_stl_container::const_iteratorfound=myContainer.find(value);在那之后,我应该检查我为found得到的是另一个const_iterator还是它对简单的迭代器进行检查有效。这样做基本上会有什么区别:if(found!=myContainer.cend())还有这个:if(found!=myContainer.end())第一个看起来更准确(至少对我而言),但第二个应该也能正常工作,对吧? 最佳答案

c++ - TRY/CATCH_ALL 与 try/catch

我使用C++有一段时间了,对普通的try/catch很熟悉。但是,我现在发现自己在Windows上,在VisualStudio中编码以进行COM开发。代码的几个部分使用了如下内容:TRY{...dostuff}CATCH_ALL(e){...issueawarning}END_CATCH_ALL;这些宏有什么意义?与内置的try/catch相比,它们有什么好处?我试过用谷歌搜索这个,但是很难搜索到“tryvsTRY”。 最佳答案 这是一个MFC宏:http://msdn.microsoft.com/en-us/library/t8d

c++ - 如何使 find() 与一组结构一起工作?

我正在使用set来保存包含多个字符串的结构。我希望能够使用集合的find()功能。但是,由于该集合包含结构,因此它不起作用。我希望find()只查看结构中的一个字符串。如何做到这一点?这是我尝试使用的代码。它工作正常,除了使用find()的部分:#include#include#includeusingnamespacestd;structtest{stringkey;stringdata;};booloperators;intmain(){testnewmember;newmember.key="key";newmember.data="data";s.insert(newmembe

c++ - 使用 C++11 编译 ui 代码时遇到 "unable to find string literal operator"错误

我正在使用我自己的GNUmakefile编译QTGUI应用程序(版本4)。当我将C++03标准与gcc编译器一起使用时,一切都运行良好。现在我需要C++11标准并得到错误:无法找到字符串文字运算符'operator""__FILE__'"在我的window.cpp中的以下几行connect(ui->myGLWidget,SIGNAL(xRotationChanged(int)),ui->rotXSlider,SLOT(setValue(int)));connect(ui->myGLWidget,SIGNAL(yRotationChanged(int)),ui->rotYSlider,S

c++ - Win32 文件锁定读取 : how to find out who's locking them

在C++中(特别是在VisualC++中),有时您无法打开一个文件,因为另一个可执行文件已经打开并且没有共享它以供读取。如果我尝试打开这样的文件,我如何以编程方式找出谁在锁定该文件? 最佳答案 在Windows2000及更高版本中,如果不使用内核模式驱动程序,则无法执行此操作。ProcessExplorer和其他类似工具会自动加载驱动程序来完成此操作。这是因为文件句柄位于内核空间中,用户模式应用程序(EXE文件)无法访问。如果你真的有兴趣这样做,看看thisproject. 关于c++-

c++ - find() 与 lower_bound+key_comp

我在stackOverflow中遇到了以下问题std::mapinsertorstd::mapfind?为什么使用find()被认为不如lower_bound()+key_comp()?假设我有下面的mapmapmyMap;myMap[1]=1;myMap[2]=3;myMap[3]=5;intkey=xxx;//somevalueofinterest.intvalue=yyy;建议的答案是使用map::iteratoritr=myMap.lower_bound(key);if(itr!=myMap.end()&&!(myMap.key_comp()(key,itr->first)))

c++ - QML 和 C++ 属性 - ReferenceError : Can't find variable

在编写QML应用程序时,我遇到了绑定(bind)问题,resp。在使用Qt4.8.1构建的QtQuick1应用程序中使用QML访问C++属性。每当我运行该应用程序时,我都会收到ReferenceError:Can'tfindvariable:...。在搜索文档、示例和论坛并创建一个小型QML项目来测试此行为后,我仍然无法弄清楚为什么会出现这些错误。这是我为测试获得的“应用程序输出”:应用输出Starting/.../build-QML_Cpp_propertyTest-Qt_4_8_1_in_PATH_System-Debug/QML_Cpp_propertyTest...Qmldeb

c++ - `T&` 和 `const T&` 对于 all-const 类的区别

假设我有这样一个类:classFoo:boost::noncopyable{public:Foo(inta,intb);constintsomething;constintsomething_else;conststd::stringanother_field;//andthat'sthat,nomoremethodsnorfields};现在,通过Foo&访问此类的对象与通过constFoo&访问此类的对象之间有什么实际区别,除了这两者是两种不同的类型?访问其字段应该没有任何区别,因为它们是const,因此将通过constT&无论如何。但是对于整个类(class)而言,有什么不同吗?

c++ - 为什么 std::find for vector 返回一个迭代器而不是整数位置

为什么vector查找返回的是迭代器而不是整数值?vector::iteratoritr1=std::find(words.begin(),words.end(),word); 最佳答案 std::find适用于各种容器,而不仅仅是std::vector。例如,它适用于std::list但该容器不允许通过索引访问元素(至少不容易)。为了让它与所有类型的容器一起工作,它需要返回所有容器都能理解的东西,一个迭代器。编辑:如果你想找到相当于给定迭代器的索引位置,你可以使用std::distance.例如:std::distance(std

android - 如何解决 : "error: cannot find symbol class ..." after converting Java class to Kotlin?

我正在尝试从Kotlin开始,将我项目的一些Java类转换为Kotlin,并创建一个混合的Java/Kotlin项目。为了配置环境,我做了以下操作:已下载最新版Kotlin插件(1.0.2);在顶层gradle.plugin我添加了:classpath"org.jetbrains.kotlin:kotlin-android-extensions:1.0.2"在依赖项部分;在我的模块的gradle插件中,我在依赖项部分添加了:compile"org.jetbrains.kotlin:kotlin-stdlib:1.0.2";我选择了我想转换为kotlin的POJO类,从菜单Code->C