草庐IT

重复性

全部标签

c++ - 如何通过 AST 为访问者模式解决 C++ 中的 header 重复问题

请注意:这些是描述一般困境的代码片段。完整的代码确实包括“includeguards”/#pragmaonce/whathaveyou。我正在实现遍历AST的访问者模式,想知道解决以下问题的C++方法是什么:我有AST.h,它有基本的AST节点类声明:classNode{public:virtualvoidaccept(Visitor*v){v->visit(this);}};连同用于声明、表达式等的所有具体节点子类。然后我有ASTVisitor.h声明访问者界面,按照以下行:classVisitor{public:Visitor(){}virtual~Visitor(){}virtu

c++ - 使用函数从 C++ 中的数组中删除重复项

我正在编写一个程序,让用户将整数输入到一个数组中,调用一个函数从该数组中删除重复项,然后打印出修改后的数组。当我运行它时,它允许我将值输入到数组中,但是当我完成输入值时,它会给我一个“Segmentationfault”错误消息。我做错了什么?这是我的代码:#includeusingnamespacestd;voidrmDup(intarray[],int&size){for(inti=0;i>input){if(currentSize谢谢。 最佳答案 for(inti=0;i如果array[0]和array[1]相等,则array

c++ - 奇怪的重复出现的模板和模板参数相关的子类化问题

我正在尝试让下面的代码工作templatestructBase{usingDerived=__derived;usingObject=__object;voidfunction(Objecto){returnDerived::function(s);}}//template//structBase{//usingDerived=__derived;//usingObject=typenameDerived::Object;//voidfunction(Objecto){returnDerived::function(s);}//}templatestructDerived:public

c++ - 递归模板继承代码重复

#includetemplatestructmy_iterator;templatestructmy_iterator{T*p;};templatestructmy_iterator:my_iterator{static_assert((S&(S-1))==0,"Smustbeapowerof2");usingmy_iterator::p;unsignedburp(){return(*p)+S;}};intmain(){intv=10;my_iteratora;a.p=&v;std::cout&b=a;std::coutc;c.p=&v;std::cout这将修复错误:template

c++ - 多重映射如何在内部处理重复键?

对于map,我可以理解它被实现为二叉搜索树(例如,红/黑树)及其时间复杂度。但是对于multimaps,如何在内部处理键冲突?是否为具有相同键的所有节点维护了一个列表?或者进行一些其他处理。我遇到了可以使用map>的情况。或multimap并想知道权衡。 最佳答案 C++规范没有给出std::multimap的具体实现,而是给出了对std::multimap的操作速度的要求,并且这些操作应该有什么保证。例如,在multimap上的insert需要将键/值对插入到multimap中,并且必须以一种方式插入在具有相同键的所有现有条目之后

c++ - ldd 显示重复的共享库

我不清楚为什么ldd在找不到依赖项时多次向我显示同一个共享库。在一个使用boost的小可执行文件中,输出是:libboost_chrono.so.1.49.0=>notfoundlibboost_system.so.1.49.0=>notfoundlibboost_system.so.1.49.0=>notfoundlibboost_program_options.so.1.49.0=>notfoundlibboost_regex.so.1.49.0=>notfound否则在安装正确的依赖项后ldd只显示一个:libboost_system.so.1.49.0=>/usr/lib/li

c++ - C++ 编译器是否优化重复的函数调用?

编译器(通常或特别)是否优化重复的函数调用?例如,考虑这种情况。structfoo{member_typem;return_typef()const;//returnsbyvalue};函数定义在一个翻译单元中return_typefoo::f()const{/*dosomecomputationusingthevalueofm*//*returnbyvalue*/}重复的函数调用在另一个单元foobar;some_other_function_a(bar.f());some_other_function_b(bar.f());第二个翻译单元中的代码会转换成这个吗?foobar;con

C++ 符号处理和导出 => 允许代码重复?

在我们的项目中,我们有这样的东西:structPointI{//methodsforgetting,settingandcalculatingsomepointstuffprivate:intx;inty;};structPointD{//methodsforgetting,settingandcalculatingsomepointstuffprivate:doublex;doubley;};我建议把它改成这样:templatestructPoint{//methodsforgettig,settingandcalculatingsomepointstuffprivate:Tx;Ty

c++ - quickfix/c++ 中的重复组

我正在编写一个使用quickfix库的程序。文档很差,所以我请求SO研究员的帮助。我在Group类中看到有迭代器。所以我想有一些类似STL的方法来解析重复组。我错了吗?任何人都可以提供一个简单的例子吗?非常感谢您。 最佳答案 使用Quickfix库以及有关如何构造FIX消息的文档。否则将很难破译消息的组织方式。这是来自Quickfixwebsite的示例您的消息是MarketDataSnapshotFullRefresh类对象。FIX::NoMDEntriesnoMDEntries;message.get(noMDEntries);

重命名json文件中的重复键

我有具有重复键的JSON文件。例子{"data":"abc","data":"xyz"}我想将其作为{“data1”:“abc”,“data2”:“xyz”}我尝试使用object_pairs_hook和json_loads,但它不起作用。任何人都可以帮助我解决上述问题的python解决方案吗看答案你可以通过load方法一个要处理配对的关键字参数,您可以在这里检查这样的重复项:raw_text_data="""{"data":"abc","data":"xyz","data":"xyz22"}"""defmanage_duplicates(pairs):d={}k_counter=Counte