A less verbose const_cast
•Is this a bad idea? 


It is unnecessary.


  Nobody knows what most of the C++ programmers do but so far I only ever had one use for const_cast: to cast away a const from a type.


You can also use it to partially take away constness:

int do_things(const char* p);

const char* const xyz = "abc";
do_things( const_cast&lt;const char*&gt;(xyz) );


The gain in readability comes from the result type being explicitly specified.

If you have APIs that only work for non-const pointers when they should work for const (this is the most legitimate use for const_cast) you should wrap them and centralize/localize/hide the call to const_cast.

If you find yourself writing const_cast calls again and again, the problem is not poor readability of the code, but bad API design.