BetterMUD学习心得1




void SetDescription(const std::string& p_desc){ m_description = p_desc; }

  //string& 这样不仅不用构造对象副本,也可以保证对象不被修改。

 

class HasRegion
 {
 public:
  HasRegion() :m_region(0){}
  entityid Region()const{ return m_region; }
  void SetRegion(entityid p_region){ m_region = p_region; }
 protected:
  entityid m_region;
 };

//把这种Has的关系也抽象成类。


typedef std::set<entityid> characters;

//set是已排序的容器。为了快速检索。


//如何封装一个set类:

 class HasCharacters
 {
 public:
  typedef std::set<entityid> characters;
  typedef items::iterator itemitr;
  void AddItem(entityid p_id){ m_items.insert(p_id); }
  void DelItem(entityid p_id){ m_items.erase(p_id); }
  itemitr ItemsBegin(){ return m_items.begin(); }
  itemitr ItemsEnd(){ return m_items.end(); }
  size_t Items(){ return m_items.size(); }
 protected:
  items m_items;
 };


//重载operator()的用法

//定义时

struct stringmatchfull
{

...

 bool operator()(const std::string& p_name)
 {
  return search == BasicLib::LowerCase(p_name);
 }

};

//使用时

 stringmatchfull a("hehe");
 cout << "The result is " << a("haha") << endl;

//不是a.("haha")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值