草庐IT

多重性

全部标签

C++ 如何在 Boost Global Logger 上设置严重性过滤器

几天来我一直在尝试创建一个BoostGlobalLogger以在整个应用程序中使用但我似乎无法在GlobalLogger中设置严重性级别。重要提示:在下面查看Andrey的回答...它被标记为步骤(a)和(b),但我仍然没有做对!直接来自Boost文档here...itwouldbemoreconvenienttohaveoneorseveralgloballoggersinordertoeasilyaccessthemineveryplacewhenneeded.Inthisregardstd::coutisagoodexampleofsuchalogger.Thelibrarypr

c++ - 多重继承和数据成员

我从来没有使用过多重继承并且偶然遇到了一个我从未遇到过的设计问题..classA{//..methods..}classB:publicA{intb;//...methods..}classC:publicA{intc1,c2;}classD:publicB,publicC{}这是经典钻石。事实上,C实际上只是一个带有两个额外整数的A。和D实际上只是B和C的聚合,但我觉得多重继承并不是为了制作这些东西而设计的。或者可能有其他最佳实践可以做到这一点。我尝试实现多重继承的原因是我想写一个类似voidfunc(A*)的函数,然后将它传递给A或D类指针。我的巧妙尝试是做一个简单的转换:void

c++ - 如何按元素出现次数将多重集排序到容器

我想获取按元素出现次数排序的元素。这就是我想出的(mHeights是一个std::multiset):namespace{templateclassHistPair{public:HistPair(Ucount,Tconst&el):mEl(el),mNumber(count){}Tconst&getElement()const{returnmEl;}UgetCount()const{returnmNumber;}private:TmEl;UmNumber;};templatebooloperatorconst&left,HistPairconst&right){returnleft.

c++ - 编译器关于此指针、虚函数和多重继承的详细信息

我正在阅读Bjarne的论文:MultipleInheritanceforC++.在第3节第370页中,Bjarne说“编译器将成员函数的调用转换为带有“额外”参数的“普通”函数调用;该“额外”参数是指向成员函数所针对的对象的指针叫做。”我对这个额外的论点感到困惑。请看以下两个例子:示例1:(第372页)classA{inta;virtualvoidf(int);virtualvoidg(int);virtualvoidh(int);};classB:A{intb;voidg(int);};classC:B{intc;voidh(int);};类c对象C看起来像:C:---------

firebase多重位置在Android中查询子句

任何人都可以将以下查询转换为Android中的Firebase查询。我熟悉firebase,但不知道如何将其与多个子句一起使用publicstaticParseQuerygetSearchSurvivorQuery(Stringkeyword){ParseQueryquery1=ParseUser.getQuery();query1.whereContains(DbConstants.NAME,keyword);query1.whereNotEqualTo(DbConstants.TYPE,Constants.USER_TYPE.SUPPORTER.ordinal());query1.wher

c++ - 原子变量的多重赋值是原子操作吗?

假设我有两个原子bool值,如下所示。private:std::atomic_boolx;std::atomic_booly;我可以说下面的操作是原子的吗?还是我必须使用lock_guard以确保它们被分配在一起?x=y=true;//aretwoboolsassignedtogetheratomically?还考虑在另一个线程中我想读取这些bool值。if(!x&&!y)...我的假设是这不是原子的,也许使用atomic会更好相反? 最佳答案 不,不是。原子操作所保证的只是变量上不会发生任何干预操作。在您的示例中,完全有可能y被分

c++ - 为什么在链接时出现多重定义错误?

我用这两个文件here和here.我在两个单独的文件中创建了一个类:modul1.h#ifndefMODUL1_H#defineMODUL1_H#include#include#include"easylogger.h"classModul1{public:Modul1(std::stringname);protected:private:easylogger::Logger*log;};#endif//MODUL1_H和modul1.cpp#include"modul1.h"Modul1::Modul1(std::stringname):log(neweasylogger::Logg

c++ - 这行得通吗? C++ 多重继承和构造函数链接

考虑一个继承自Foo和Baz的类Waldo,即:classWaldo:publicFoo,publicBaz{...};当我创建一个新的Waldo实例时:Waldo*w=newWaldo;会调用Foo和Baz构造函数吗?如果默认情况下不调用它们,是否有一种简单的方法在类声明或Waldo构造函数的声明/定义中强制调用它们?(看起来我可能正在尝试进行构造函数链接,据称C++不会那样做。我不确定。)我想做的是“注释”各种类声明,其中注释导致(除其他事项外)被注释类的实例链接到由注释类维护的列表中。例如,这让我可以遍历所有具有Baz性质的对象的列表,对它们应用某种操作,而不必担心我是否记得将实

c++ - 外部变量导致多重定义错误

我一直在尝试使用extern来使用之前定义的变量。我以前没有使用过extern,现在我需要使用它来只定义一次变量并在多个文件中使用它们我已经为这个问题编写了最小化版本的代码。我有四个文件库文件#ifndefLIB_H#defineLIB_H#includenamespacelib{externboolinitialized;boolinitialized=false;staticvoidisInit(char*parent){std::cout车辆.h#ifndef_VEHICLE_H#define_VEHICLE_H#includeclassVehicle{public:Vehicl

c++ - 对C++多重继承感到困惑

我对C++的更高级功能有些陌生。昨天,我发布了以下问题,了解了虚拟继承和可怕的死亡钻石。InheritingfrombothaninterfaceandanimplementationC++我还通过其他链接了解到,多重继承通常是错误代码设计的标志,并且通常可以在不使用MI的情况下更好地实现相同的结果。问题是……对于以下问题,我不知道什么是更好的单继承方法。我想为两种类型的数字点定义一个接口(interface)。输入数字点和输出数字点。界面要简洁,只有访问信息所需的内容。当然,绝大多数属性对于这两种类型的数字点都是通用的。所以对我来说,这是一个明显的继承案例,而不是组合。我的接口(in