c++ 如何向模板化类添加描述性名称?[closed]

hyrbngr7  于 2022-11-19  发布在  其他
关注(0)|答案(1)|浏览(110)

已关闭。此问题为opinion-based。当前不接受答案。
**想要改进此问题吗?**请更新问题,以便editing this post可以用事实与引用来回答.

2天前关闭。
Improve this question
我创建了一类事件。

class DoorEvts
{
  private:
    std::function<int, int> EvtOpenFunc;    // onOpen(int floor, int building) ; 
    std::function<char*> EvtClosedFunc; // onClosed(char* Name) ;

  public:
    void SetEvtOpen(std::function<int, int> myEvtHandlingFunc)
    {
      EvtOpenFunc = myEvtHandlingFunc;
    };

    void SetEvtClosed(std::function<char*> myEvtHandlingFunc)
    {
      EvtClosedFunc = myEvtHandlingFunc;
    };

  };

我想使事件数据对任何愿意使用它的人都是显而易见的。
例如,在<int, int>上添加它们各自的含义,类似于<int floor, int building>
类似于函数的声明方式。
我试着将信息作为注解添加,这样用户就可以知道每种类型的含义。
如果存在,则寻找更好的代码内解决方案。

yvt65v4c

yvt65v4c1#

我真的不明白你在问什么,但也许using是你要找的?

class DoorEvts
{
  public:
    using OpenDelegate = Delagate<int, int>;
    using CloseDelegate = Delegate<char*>;
  private:
    OpenDelegate EvtOpenFunc; // onOpen(int floor, int building) ; 
    CloseDelegate EvtClosedFunc;  // onClosed(char* Name) ;

  public:
    void SetEvtOpen(OpenDelegate myEvtHandlingFunc)
    {
      EvtOpenFunc = myEvtHandlingFunc;
    };

    void SetEvtClosed(CloseDelegate myEvtHandlingFunc
    {
      EvtClosedFunc = myEvtHandlingFunc;
    };

};

此外,如果您使用一些文档工具,例如Doxygen,则可以编写可转换为文档的注解。

相关问题