我正在开发一个性能关键的多线程应用程序.我查看了rlog,Ace和Boost日志记录.我之所以选择rlog是因为我认为它是最快的(当禁用日志记录时,它的开销最小).
我遇到的问题是它显示文件名,行号等,即使在发布模式下也是如此.如果你能告诉我如何关闭这些信息,我的问题可能会得到解决.在任何情况下,对于我的情况,C++中最有效的记录器是什么?
我有一个关于C++双重调度的问题.在下面的代码中,我希望第二组的结果与第一组的结果相匹配.
我不知道实际的类型(除非我尝试dynamic_cast)但我知道该对象继承自BaseClass类型.实现这一目标的最有效(性能)方法是什么?
谷歌搜索了一段时间后,我发现了双重调度和loki多方法.我在Shape示例中遇到的问题是,在我的应用程序中,Processor和BaseClass完全独立,并且没有可以相互调用的常用方法.其次,只有一个处理器(即没有从它继承).
谢谢你的帮助.
#include <iostream>
#include <string>
using namespace std;
class BaseClass{
public:
BaseClass(){}
virtual void myFunction(){cout << "base myFunction called" << endl;}
};
class Derived1: public BaseClass{
public:
Derived1():BaseClass(){}
void myFunction(){cout << "Derived1 myFunction called" << endl;}
};
class Derived2: public BaseClass{
public:
Derived2():BaseClass(){}
void myFunction(){cout << "Derived2 myFunction called" << endl;}
};
class Derived3: public BaseClass{
public:
Derived3():BaseClass(){}
void myFunction(){cout << "Derived3 myFunction called" << endl;}
};
class Processor{
public:
Processor(){}
virtual void processObj(BaseClass* bc){cout << "got …
Run Code Online (Sandbox Code Playgroud) c++ polymorphism design-patterns double-dispatch late-binding