Re[4]: Сам код
От: Andrew S Россия http://alchemy-lab.com
Дата: 05.08.04 15:56
Оценка:
А хотя нет, так расходы памяти выше — в любом случае будет статически жить массив размером sizeof(DWORD)*8. В этом случае тогда можно постпуить еще проще — сразу макросом формировать соотв. строку статически и возвращать ее. В случае программного решения "большими" получаются только ненулевые цифры (т.е. <= push DWORD_PTR = 5 байт), а нулевые push BYTE_PRT = 2 байта). Вероятно, это все-таки выгоднее (медленнее, но выгоднее).

Вот бы как-нибудь избавиться от этого оверхеда... я пока вижу только один вариант — списки типов и Const2Type, в этом случае размер строки будет с точностью до sizeof(DWORD), да и избавимся от ограничений на длину строки. Но как тогда формировать строку из списка типов, непонятно... Есть мысли?

__>>Это можно переделать так :

__>>
__>>    static void MakeStr(LPTSTR szBuffer)
__>>    {
__>>        static const DWORD a[]={n0,n1,n2,n3,n4,n5,n6,n7};
__>>        FlattenStr(szBuffer, a, 7);
__>>    }
__>>};
__>>


__>>Таким образом в случае изменения CNameId функцию FlattenStr не будет необходимости менять.
http://www.rusyaz.ru/pr — стараемся писАть по-русски
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.