宏功能参数

时间:2016-05-08 23:44:35

标签: c++ templates macros

我正在尝试实现一些我不确定C ++是否支持的东西。

比如说:

Array
(
    [0] => content for section2
    [1] => content for section3
    [2] => content for section1
)

有没有办法写一个函数" getFooMember"?基本上我正在写一个模板化的二进制文件 搜索树。我希望存储相同类型的项目,但是,该类的一个对象将按名称存储,另一个将按月存储。我想减少重复的代码。我能想到的最简单的解决方案是:

class foo 
{
   public:
     type item1;
     type item2;
}

class fooList
{
   public:
     foo list;  
   type getFooMember(member)
   {
      return list.member
   }
}

但是,我的添加和搜索功能大约是20行,我想看看是否可以避免这种情况。

谢谢你们

1 个答案:

答案 0 :(得分:1)

您正在寻找的语言功能是指向数据成员的指针。语法是:

type getFooMember(type foo::*member) {
    return list.*member;
}