草庐IT

adjacent_find

全部标签

c++ - 使用 boost phoenix,如何调用带有 starts_with 的 find_if 调用?

我正在尝试在结构vector中查找元素。该代码在以区分大小写的方式进行搜索时有效。当我尝试将其boost为不区分大小写时,我遇到了两个问题。简单地包含boost/algorithm/string.hpp会破坏以前工作的VS2010构建。错误是“'boost::phoenix::bind':对重载函数的模糊调用”。在Xcode中构建正常。有什么方法可以消除绑定(bind)的歧义?我想我在第二个(注释掉的)find_if行中有语法错误,添加了istarts_with调用。我从phoenixheader中收到错误消息“错误:没有名为‘type’的类型”。假设问题#1可以解决,我应该如何更正此

c++ - node.js 内部 : How can I find out where `process.binding(' eval')` gets defined?

如何找到node.js的C++源代码中定义了JavaScript对象的位置,我可以通过process.binding('eval')访问它?-在这种特殊情况下,我已经发现它在/src/node_script.cc中,但是:我怎么知道我可以在哪里找到那个模块,当我只是看看/src/目录概览?我不想为了查找模块而遍历/src/中的所有文件。我在哪里可以找到有关process.binding()内部结构的一些深入信息?谢谢。 最佳答案 我今天也在找同样的东西。我不能保证没有更多内容,但这是我发现的。src/node_extensions.

c++ - boost 正则表达式链接 : Can't find library

我在链接BoostRegex时遇到问题,尽管我可以运行(编译/链接)其他Boost程序。我意识到这是“有据可查的”,但我找不到答案,因为各种帖子使用不同版本的Boost、不同的编译器、使用bjam(我使用b2),似乎暗示了我已经尝试过的东西等。设置VisualStudio10(我使用的是C++)boost版本:1.53.0初始安装:我关注了HowtouseBoostinVisualStudio2010(我走到了第二点4)。我没有下载正则表达式的ICU支持,因为我认为只有在需要Unicode支持时才需要它?我已通过更新“包含目录”并添加C:......\Boost\boost_1_53_

c++ - Mac 上的问题 : "Can' t find a register in class BREG while reloading asm"

我尝试将一些代码移植到MacOSX上。该程序使用了“ttmath”库,一个headerbig-numheader库。这个库在windows和linux上都运行良好,但是当我尝试在Mac上编译和运行它时,总是出现以下错误消息:"can'tfindaregisterinclass'BREG'whilereloading'asm'".我发现一些文档说这个问题是由于旧版本的GCC编译器(build5488)引起的,但在我更新GCC后仍然显示此消息。目前我的GCC版本是:i686-apple-darwin9-gcc-4.0.1(GCC)4.0.1(AppleInc.build5490)操作系统是

c++ - STL find_if 和不区分大小写的字符串比较

我有一个Models的vector,如下所示:structModel{std::stringmName;//.......};给定一个表示模型名称的字符串,我想看看是否可以在vector中找到其中一个模型。现在我有这个:std::stringassetName="monkey";std::vector::iteratoriter=std::find_if(mModels.begin(),mModels.end(),boost::bind(&Model::mName,_1)==assetName);但是这不会进行不区分大小写的字符串比较。所以我阅读了有关boost/algorithm/s

c++ - QMake 模拟 cmake 的 "find_package"

qmake有没有类似cmake的find_package的机制?如果我需要在我的系统上安装包含库,我怎样才能避免手动编写包含路径和库名称?最佳做法是什么? 最佳答案 如果使用的库提供了pkgconfig.pc文件,您可以在.pro文件中使用link_pkgconfig作为:CONFIG+=link_pkgconfigPKGCONFIG+=quazip如果库提供命令行实用程序来获取编译器标志(如postgresql有),那么你可以调用它并将添加输出分配给相应的变量INCLUDEPATH+=$$system(pg_config--inc

c++ - 未找到 : FeedInputs: unable to find feed output TensorFlow

我在本网站尝试使用C++中的Tensorflow保存模型的示例:https://medium.com/jim-fleming/loading-a-tensorflow-graph-with-the-c-api-4caaff88463f#.ji310n4zo效果很好。但它不保存变量a和b的值,因为它只保存图形而不保存变量.我试图替换以下行:tf.train.write_graph(sess.graph_def,'models/','graph.pb',as_text=False)与saver.save(sess,'models/graph',global_step=0)当然是在创建保护程

c++ - Boost find_first 它是如何工作的?/定义一个范围

我有一个缓冲区(例如charbuffer[1024]),其中填充了一些数据。现在我想在这个缓冲区中搜索一个子字符串。因为它应该是一个不区分大小写的搜索,所以我正在使用boost::algorithm::ifind_first。所以我这样调用这个函数:boost::iterator_rangebuf_iterator;buf_iterator=boost::algorithm::ifind_first(buffer,"substring");这实际上工作正常。但我担心的是:我只向函数传递了一个charpointer,所以ifind_first应该不知道我的缓冲区在哪里结束,但它仍然有效。

c++ - wstring::find() 不适用于非拉丁符号?

我的代码中有一个宽字符字符串(std::wstring),我需要在其中搜索宽字符。我为此使用了find()函数:wcin>>str;wcoutL'ф'是西里尔字母。但是在同一调用中的find()总是返回npos.在带有拉丁字母的情况下,find()工作正常。是这个函数的问题?还是我做错了什么?UPD我使用MinGW并以UTF-8格式保存源代码。我还使用setlocale(LC_ALL,"");设置了语言环境.代码相同wcout工作正常。但同样wchar_tw;wcin>>w;wcout工作不正常。这很奇怪。早些时候我使用setlocale()进行编码没有问题。

STL - 找到所有的 find_if 的替代版本,而不仅仅是第一个?

是否有std::find_if的替代版本返回所有找到的元素的迭代器,而不仅仅是第一个元素?例子:boolIsOdd(inti){return((i%2)==1);}std::vectorv;v.push_back(1);v.push_back(2);v.push_back(3);v.push_back(4);std::vector::iteratorit=find_if(v.begin(),v.end(),IsOdd);for(;it!=v.end();++it){std::cout 最佳答案 您可以只使用for循环:for(std