declare_basefun(宏定义) - Lucky-Koishi/KoishiExAPI GitHub Wiki

声明

#define declare_basefun(_member,_type) protected:_type _member;public:inline type get##_member() const{return _member;}inline type * getPtr##_member(){return &member;}inline void set##_member(_type val){_member=val;}

描述

  此宏用于为一个类声明一个较为简单的成员属性,以及三个内联函数set_XXX, get_XXX, getPtr_XXX分别用于修改变量,获得变量值以及变量指针。例如:

declare_basefun(a,int);

  等价于:

protected:
  int a;
public:
  inline int get_a() const{
    return a;
  }
  inline int * getPtr_a(){
    return &a;
  }
  inline void set_a(const int &val){
    a = val;
  }

  注意,该声明方法不适用于未进行重命名的指针,例如char*,若需要用该声明方法声明一个指针,则应该先用typedef将指针重命名,例如:

typedef char *pchar;
declare_basefun(a,pchar);{

  KoishiEx库中较为简单的辅助类都以这种方式进行成员属性的声明,包括colorpointsizeIMGindexPICinfoDDSinfo

⚠️ **GitHub.com Fallback** ⚠️