A const use-case I would NOT like to see replicated
    Bill Baxter 
    dnewsgroup at billbaxter.com
       
    Thu Jun 21 19:06:22 PDT 2007
    
    
  
Tim Keating wrote:
  My main issue is with const-correct programs passing data to
> non-const-correct libraries. For example, consider extracting string 
> data from a std::string to pass to a library written in C (using the 
> c_str() member func). If the function you want to call takes a const 
> char*, as it should, then great, you're fine. If it takes only a char* 
> (which I have seen happen plenty of times), you're screwed. Your choices 
> are:
Having const can certainly lead to lots of casts here and there when 
working with code that isn't const aware.  No question about that.  But 
the casts are there for a reason -- they're reminding you and other 
programmers that come along later "this is a potentially unsafe operation".
Ok, but I can see that it might be nice to have a way to import a module 
such that it ignores const issues.  Like casting away const on all the 
functions in a module with one line of code.  Like Don's "break const" 
-- something like
   break(const) import legacy_module;
I think this could be tricky to implement though.
--bb
    
    
More information about the Digitalmars-d
mailing list