小编MAG*_*MAG的帖子

operator ==在C++中使用双重调度

应该如何实施

operator==(const Base& base)
Run Code Online (Sandbox Code Playgroud)

比较子类,调用时调用将被正确调度

Base* base1 = new Derived1();
Base* base2 = new Derived2();
base1->operator==(*base2)?
Run Code Online (Sandbox Code Playgroud)

c++ operator-overloading double-dispatch

3
推荐指数
1
解决办法
512
查看次数

类命名空间内的模板特化

如何专门化我的类体中某些外部命名空间中定义的模板?

使用不编译的BGL的具体示例:

class A
{
  namespace boost
  {
    template <class ValueType>
    struct container_gen<SomeSelectorS, ValueType>
    {
      typedef std::multiset<ValueType,MyClass<ValueType> > type;
    };
  }
}
Run Code Online (Sandbox Code Playgroud)

如果将container_gen的特化从A类移出,一切都很好.具体问题是我不知道如何从A类引用"boost"命名空间.

c++ information-hiding namespaces template-specialization

0
推荐指数
1
解决办法
603
查看次数