Строка-> Структура CMap

Я думаю, что вы теряете контекст i. Вы можете объявить переменную i с помощью let вместо var. Или все еще используя ES5, оборачивая i в замыкание (поэтому i не изменит свое значение):

function openSubNavs2()
{
    var allToggleBs = document.querySelector('ul#nav').getElementsByTagName('b');
    for (var i=0; i<allToggleBs.length; i++)
    {
        (function(i) {
            var toggleB = allToggleBs[i];
            toggleB.addEventListener('click', function()
            {
                toggleB.className = 'show';
            });
        })(i);

    }
}
window.addEventListener('load', function() {openSubNavs2();});
5
задан R.J. Dunnill 27 May 2019 в 17:48
поделиться

2 ответа

CMap<CString,LPCTSTR, struct_sample,struct_sample> myMap;

struct_sample aTest;
aTest.a = 1;
aTest.b = 2;
aTest.c = 3;
myMap.SetAt("test",aTest);
...

    struct_sample aLookupTest;
    BOOL bExists = myMap.Lookup("test",aLookupTest); //Retrieves the 
                             //struct_sample corresponding to "test".

Пример из MDSN для получения дополнительных сведений о CMap.

6
ответ дан 14 December 2019 в 04:47
поделиться

Если вы хотите придерживаться MFC, воспользуйтесь ответом aJ.

В противном случае вам лучше использовать стандартную карту библиотеки. Обязательно проверьте его документацию - здесь есть чему поучиться. Обычно я использую http://www.sgi.com/tech/stl/table_of_contents.html .

#include <map>
#include <string>
#include <utility> // for make_pair

using namespace std;

int main() {
    std::map< string, struct_sample > myMap;
    const struct_sample aTest = { 1,2,3 };
    myMap.insert(make_pair( "test", aTest ) );
    myMap[ "test2" ] = aTest; // does a default construction of the mapped struct, first => little slower than the map::insert

    const map<string, struct_sample >::const_iterator aLookupTest = myMap.find( "test" );
    const bool bExists = aLookupTest != myMap.end();

    aLookupTest->second.a = 10;
    myMap[ "test" ].b = 20;

}

Примечание: использование typedef для шаблонов может сделать код более читабельным.

2
ответ дан 14 December 2019 в 04:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: