草庐IT

find_end

全部标签

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++ - 如何使 find() 与一组结构一起工作?

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

c++ - 错误 C1004 : unexpected end-of-file found in Visual Studio 2012

我想在visualstudio2012中编写一个简单的C++代码,但头文件中总是出现错误C1004。谁能帮帮我?我的代码如下。我是visualstudioC++的新手,所以这可能是一个非常愚蠢的错误。添加.cpp#includeintadd(inta,intb){returna+b;}add.h#ifndefADD_H#defineADD_Hintadd(inta,intb);#endif源.cpp#include"add.h"#includeintmain(){std::cout 最佳答案 一般的代码看起来没问题,但是add.h文

c++ - 通过指针访问 std::vector 元素与 end()

我需要能够通过指针访问(只读,不涉及调整大小或类似的东西)std::vector的元素。例如,std::vectorfoo(10);int*ptr_begin=&foo[0];到目前为止一切顺利,保证在当前标准(23.3.6.1)中工作:Theelementsofavectorarestoredcontiguously,meaningthatifvisavectorwhereTissometypeotherthanbool,thenitobeystheidentity&v[n]==&v[0]+nforall0因此我们可以使用指针访问vector的所有元素,因为它们存储在连续的内存块中。

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++ - "Warning: corrupt .drectve at end of def file"是什么意思?

这个问题在这里已经有了答案:Warning:corrupt.drectveatendofdeffile(3个答案)关闭去年。在这个环境下,我编译了一个c++/openGL的例子贴在网上:Windows7代码::Blocksv13.12MinGW构建于2013年10月(不确定版本)mingw32-g++v4.8.1来自codeincodeblock.com的代码:#defineGLEW_STATIC//third-partylibraries#include#include#include#include#include#include#includeGLuintgVAO=0;GLuin

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++ - i = v.end() 可以从 for 循环中优化吗?

我刚才看到了这样的东西:vectorx{1,2,3,4};for(autoi=x.begin();i!=x.end();++i){//dostuff}这样做更好吗:vectorx{1,2,3,4};for(autoi=x.begin(),end=x.end();i!=end;++i){//dostuff}我想我认为优化器会处理这个问题。我错了吗? 最佳答案 是的,第二个版本可以更优化,只要您的容器从未被修改过但编译器无法告诉容器从未被修改过。“最佳”循环结构可以通过检查基于C++11范围的for循环找到。代码:for(autox:v