On 2/10/06, Tim Peters <tim.peters at gmail.com> wrote: > [Jeremy] > >> 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. > > [Guido] > > 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? I didn't connect the dots. > 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. > > [Jeremy] > 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). Is it too late to revert this one? Is there another way to make C++ programmers happy (e.g. my having a macro that expands to const when compiled with C++ but vanishes when compiled with C?) -- --Guido van Rossum (home page: http://www.python.org/~guido/)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4