Re: Modified version of l_dispatcher.h -- please try it.

Scott Dattalo <[email protected]>
Newsgroups gmane.comp.gnu.gnucap.devel
Message-ID <[email protected]>
al davis wrote:
> On Wednesday 07 March 2007 11:47, Scott Dattalo wrote:
>   
>> You can achieve static allocation and control the order which
>> objects are allocated.
>>     
>
> There is no way that is absolutely consistent and portable.  
> That is the issue.  
>   

Maybe I'm missing something, but in gpsim I have statically allocated 
objects, C++, dynamically loadable modules, and support Linux, Windows, 
BSD and (at one point) Solaris. However, I typically don't statically 
link everything.

>> In gpsim (the gnupic simulator for Microchip PIC
>> microcontrollers) I just switched over the implementation of
>> the symbol tables from STL list containers to STL map
>> containers. I don't use map's size method, however I never
>> add null objects to the symbol table either. Why would a
>> failed map lookup end adding a null object to the map?
>>     
>
> Do you ever use operator[] to index your map?  It returns an 
> lvalue, which adds a default object for a failed lookup.  It 
> doesn't hurt anything.
>   

Thanks for pointing this out. Yes I do use operator[], but I think I use 
it in a way in which a default object is not created. For example, 
instead of using operator[] to index into the map to search for a 
particular key, I use the find() method. This returns an iterator pair 
that can be compared against end(). I'm assuming find() does not create 
a superfluous default object in the map. When adding to the map, I do 
use operator[].

Scott
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.