草庐IT

out_features

全部标签

c++ - 铛 libTooling : How to find which header an AST item came out of?

在网上找到的clang工具示例总是在玩具示例上运行,这些示例通常都是非常简单的C程序。我正在构建一个对C++代码执行源到源转换的工具,这显然是一项非常非常具有挑战性的任务,但clang可以胜任这项任务。我现在面临的问题是,clang为任何使用STL的C++代码生成的AST非常庞大。例如,我有一些C++代码,clang++-ast-dump...|wc-l是67,018行可怕的AST官话!其中99%是标准库的东西,我打算在我的源到源元编程任务中忽略它们。所以,为了实现这一点,我想简单地过滤掉文件。假设我只想查看正在分析的项目header中的类定义(并忽略所有标准库header的内容),我

CMake 添加子目录错误 : "When specifying an out-of-tree source a binary directory must be explicitly specified"

我的目录结构如下:rootlibACMakeLists.txtClassA.cpplibBCMakeLists.txtClassB.cppsharedCodeenums.hAbstractClass.hCMake文件中如何包含sharedCode目录?这样classA(在libA中)和classB(在libB中)都可以使用enums.h和AbstractClass.h?在我尝试使用的CMakeLists.txt中:add_subdirectory(../sharedCode)但它给出了错误add_subdirectorynotgivenabinarydirectorybutthegiv

c++ - boost::asio::streambuf 断言 "iterator out of bounds"

客户端向服务器发送大约165kB的数据。起初一切都很好。但是当客户端再次发送相同的数据(165kB)时,我在服务器端收到一个断言。断言包含有关“迭代器越界”的信息在调用堆栈上,有一些关于read_until方法的信息。所以我认为我犯了一个错误。TCP异步服务器代码如下:handle_read代码:voidSession::handle_read(constboost::system::error_code&a_error,size_ta_nbytestransferred){if(!a_error){std::ostringstreamdataToRetrive;dataToRetri

Mapping the NFT revolution: market trends, trade networks, and visual features

摘要在这里,我们分析了2017年6月23日至2021年4月27日期间470万个NFT的610万次交易的相关数据,这些数据主要从以太坊和WAX区块链上获得。1.我们刻画了市场的统计学特征。2.我们建立了互动网络,表明交易者通常专注于与类似对象相关的NFT,并与交换同类对象的其他交易者形成紧密的集群。3.我们根据视觉特征对与NFT相关的物体进行聚类,并表明收藏品包含视觉上同质化的物体。4.我们使用简单的机器学习算法研究了NFT销售的可预测性,发现销售历史和视觉特征是价格的良好预测因素。我们预计这些发现将激发对不同背景下的NFT生产、采用和交易的进一步研究。TheNFTmarket.NFT是以col

获取具有Out AttributeError的班级成员的价值

见我的例子classMyClass1:name='A'classMyClass2:foo=MyClass1()obj1=MyClass2()下面的代码将结果AttributeError如果obj1或者foo是False.printobj1.foo.name所以我写下ifobj1:ifobj1.foo:ifobj1.foo.name:printobj1.foo.name什么是最好的方法?我可以避免代码中的重复单词吗?看答案您可以使用try/except语法捕获例外。try:printobj1.foo.nameexceptAttributeError:#dosomething

c++ - "Moving out"对象的内部表示。好不好?

假设我有一个类,它的内部数据表示是一个std::string:classmy_type{std::stringm_value;...};如果我可以“移出”my_type的内部表示,会不会很好?这种能力将以如下方式完成:classmy_type{std::stringm_value;public:operatorstd::string()&&{//NOTE:^^refqualifierforr-valuereturnstd::move(m_value);//Explicitlydostd::moveisusedbecauseref-qualifiersdon'tapply//todata

c++ - std::_throw_out_of_range 不知从何而来

我是C++的绝对初学者。字面上地。才过了一个星期。今天我在写一个程序来测试需要多少次迭代才能使某个数字回文。这是代码:#include#include#include/*Thisprogramcalculatesthestepsneededtomakeacertainnumberpalindromic.Itisdesignedtooutputthevaluesfornumbers1to1000*/usingnamespacestd;classnumber{public:stringvalue;voidreverse();};voidnumber::reverse(){std::reve

c++ - 什么时候在 C++ 中使用 out 参数?

假设我的成员函数需要同时返回std::vector>和一个double.两者都是作为同一算法的一部分计算的:我需要它们都从same成员函数返回。(即,我不能轻易拥有两个独立的功能;它需要重复的代码和性能开销。)我读到最好避免使用参数inthesequidelines,即:F.20:For"out"outputvalues,preferreturnvaluestooutputparameters.所以我的代码如下所示:std::pair>,double>computeTransitionsAndCost(doubleinput);(Astd::pair是一个转换,因此得名。)如果没有ou

java - "Feature Oriented Programming"(FOP) 在 C++ 中有什么意义,它在 Java 和 C# 中有意义吗?

遗憾的是,我不记得我是在哪里读到它的,但是......在C++中,您可以从模板参数派生类。我很确定它叫做面向特征的编程(FOP)并且意味着在某种程度上有用。它是这样的:templateclassmy_class:T{//someveryusefulstuffgoeshere;)}我对此的疑问:这种模式有什么意义?因为这在Java/C#中不可能,这个模式如何是用这些语言实现的?是否有望有一天用Java/C#实现?(嗯,首先Java需要摆脱类型删除)编辑:我真的不是在谈论Java/C#中的泛型(您不能从泛型类型参数派生类) 最佳答案 所

c++ - X代码 6.1 : All commands in Debug menu greyed out

我目前正在使用XCode进行一些C++编程。我的问题是XCode中的调试菜单总是灰色的。添加断点也不会改变这一点。我在提问之前进行了一些搜索,答案主要是确保方案正确。我检查了是否选择了LLDB调试器,并且已将可执行文件添加到目标。我还缺少什么?谢谢 最佳答案 在您构建并运行当前方案之前,调试菜单项将被禁用。在osx10.9.5上使用xcode6.1.1,我选择“新建>项目应用程序>命令行工具”来创建一个简单的helloworld。所有调试命令都是灰色的我发现这很令人困惑,因为我习惯了visualstudio给我通过介入开始调试的选项