map中使用自定義類指標作為key

2021-07-09 06:31:46 字數 1026 閱讀 2780

標籤: iterator

less

delete

classc

2012-05-11 11:58

1411人閱讀收藏 

舉報

vc/mfc/wtl/c++(65)

//先上**

#pragma once

//想用類作為key,必須過載《運算子 或者提供

//想用指標作為key,也是可以的,不過要自己提供仿函式

class cbase

public:

//作為成員函式,只需要傳入另外乙個物件的引用即可,因為自己已經是個物件了

bool operator < ( const cbase& b ) const

}; template

struct less2

}; #include "base.h"

cbase::cbase(int a)

cbase::~cbase(void)

#include "base.h"

#include

#include

using namespace std;

int _tmain(int argc, _tchar* argv)

b_i_map.clear();

return 0; }

這時如果想用自定義類作為key的必須要實現 < 運算子過載,

如果是使用指標作為key,必須提供乙個仿函式模板,在宣告map型別時引入。

下面舉例說明一下,自定義結構作為map的key時過載 《運算子的實現,可以參考下

typedef struct taguniqueboard

else if( m_uslot != b.m_uslot)

else if( m_strboardname != b.m_strboardname)

else if( m_strneid != b.m_strneid)

return false; }

}uniqueboard;

python中使用自定義類例項作為字典的key

python中dict型別的key值要求是不可變型別,通常來說,我們一般採用int或者str型別來作為字典的key,但是在某些場景中,會造成一定的麻煩。如我們有乙個處理http request的規則類名為rule,其定義如下,它由乙個request path和其支援的request methods陣...

map 自定義型別作為鍵值

作為乙個計算機專業的學生,一直沒有深入的學習過map真是罪過罪過!今天終於對map的insert機制做了一點研究,弄明白了如何用自定義型別作為鍵值了。網上大多數的言論都是必須過載 操作符,但其實不止要過載 操作符,還需過載 操作符才能更好的完成工作。對於乙個自定義型別,過載 操作符一定要合適,即對於...

在MFC中使用自定義視窗類

1 在 wndclass wc wc.cbcl tra 0 wc.cbwndextra 0 wc.hbrbackground hbrush getstockobject white brush wc.hcursor loadcursor idc arrow wc.hicon null wc.hins...