Re: Is CArray best for this...
- From: David Wilkinson <no-reply@xxxxxxxxxxxx>
- Date: Fri, 18 Jan 2008 08:11:47 -0500
David Ching wrote:
Nothing is missing, but what is there appeals to computer scientists and not necessarily to the domain-specific sensibilities of Windows app developers. Iterators have strange syntax, some STL construct (forget which one) needs to reference ".first" and ".second" is totally bizarre, etc. This is completely acceptable, and even desireable, for computer scientists, but not for app writers who are not interested in becoming experts in collections per se, only in that they allow them to write their apps.
David:
Strangely enough, I wrote the following piece of code just yesterday
typedef std::map<CString, CString> StringMap;
StringMap m_itemMap;
CListBox m_keyListBox;
void CMyDlg::DisplayItems()
{
m_keyListBox.ResetContent();
for (StringMap::const_iterator it = m_itemMap.begin(); it != m_itemMap.end(); ++it)
{
m_keyListBox.AddString(it->first);
}
}
You see MFC and STL playing nicely together. Yes, you need to know that iterators are like pointers to the elements, and that the elements of std::map are std::pair<Key, Value>, but what is so strange or bizarre about that?
As Norbert says, the concepts used (here iterators and std::pair) are universal to the STL, unlike with CMap, which uses member functions and a nested class CPair that are unique to CMap.
CMap also suffers from the fact that the template arguments ARG_KEY and ARG_VALUE cannot be defaulted to the sensible const KEY& and const VALUE& because the arguments are in the wrong order. I have never understood what the purpose of the double (here quadruple) template argument was, and it was a source of great confusion to me at the beginning.
But we might have to agree to disagree here ...
--
David Wilkinson
Visual C++ MVP
.
- Follow-Ups:
- Re: Is CArray best for this...
- From: David Ching
- Re: Is CArray best for this...
- From: Giovanni Dicanio
- Re: Is CArray best for this...
- References:
- Is CArray best for this...
- From: GT
- Re: Is CArray best for this...
- From: AliR \(VC++ MVP\)
- Re: Is CArray best for this...
- From: GT
- Re: Is CArray best for this...
- From: AliR \(VC++ MVP\)
- Re: Is CArray best for this...
- From: GT
- Re: Is CArray best for this...
- From: AliR \(VC++ MVP\)
- Re: Is CArray best for this...
- From: AliR \(VC++ MVP\)
- Re: Is CArray best for this...
- From: GT
- Re: Is CArray best for this...
- From: David Wilkinson
- Re: Is CArray best for this...
- From: Norbert Unterberg
- Re: Is CArray best for this...
- From: David Ching
- Re: Is CArray best for this...
- From: Giovanni Dicanio
- Re: Is CArray best for this...
- From: David Ching
- Re: Is CArray best for this...
- From: Norbert Unterberg
- Re: Is CArray best for this...
- From: David Ching
- Is CArray best for this...
- Prev by Date: Char array contents
- Next by Date: Re: My Review of MFC Beta
- Previous by thread: Re: Is CArray best for this...
- Next by thread: Re: Is CArray best for this...
- Index(es):
Relevant Pages
|