[Python-Dev] Baffled by PyArg_ParseTupleAndKeywords modification
tim.peters at gmail.com
Fri Feb 10 18:54:17 CET 2006
>> I added some const to several API functions that take char* but
>> typically called by passing string literals. In C++, a string literal
>> is a const char* so you need to add a const_cast<> to every call site,
>> which is incredibly cumbersome. After some discussion on python-dev,
>> I made changes to a small set of API functions and chased the
>> const-ness the rest of the way, as you would expect. There was
>> nothing random about the places const was added.
> I still don't understand *why* this was done,
Primarily to make life easier for C++ programmers using Python's C
API. But didn't Jeremy just say that?
Some people (including me) have been adding const to char* API
arguments for years, but in much slower motion, and at least I did it
only when someone complained about a specific function.
> nor how the set of functions was chosen if not randomly.
I added some const to several API functions that take char* but
typically called by passing string literals.
If he had _stuck_ to that, we wouldn't be having this discussion :-)
(that is, nobody passes string literals to
PyArg_ParseTupleAndKeywords's kws argument).
More information about the Python-Dev