真希望对STL 的map初始化能像对数组一样初始化,但现在的C++编译器似乎都还不支持,不过可以用类继承试试,效果还不错,不是太难看:class CDataList:public std::map<CString,CString> { public: CDataList() { (*this)[_T("idx0")] =_T("Data0"); (*this)[_T("idx1")] =_T("Data1"); (*this)[_T("idx2")] =_T("Data2"); (*this)[_T("idx3")] =_T("Data3"); (*this)[_T("idx4")] =_T("Data4"); (*this)[_T("idx5")] =_T("Data5"); }; }; #define bufLen MAX_PATH int _tmain(int argc, _TCHAR* argv[]) { TCHAR buf[bufLen]; CDataList theDa; for(int idx=0;idx<6;idx++) { _stprintf_s(buf,bufLen,_T("idx%d"),idx); std::cout<<buf<<_T(":")<<theDa[buf]<<std::endl; }; }