|
While I empathize, and certainly C++ also allows you to shoot yourself
in the foot, the code shown is philosophically (imo) a mix of C and C++
in that it uses char *s. Assuming both variables are strings then I
would code it as follows and avoid dipping into 'dangerous' char *
territory.
partName.insert(0, userName.substr(start, len));
(If I'm understanding the objective correctly)
Marc
On 2/13/2014 9:02 AM, Tim Bronski wrote:
On 2/13/2014 5:23 PM, Jon Paris wrote:
I would have said that C was brilliant if your aim was to shoot yourself in the foot and C++ does a better job of protecting you.Hi Jon, I would have let that slide but I've just finished tracking down
a bug where c++ was using a different overloaded string function than
the one intended. Here's what the statement should have been:
partName.insert(0, &userName[start], len);
but instead it was
partName.insert(0, userName[start], len);
This compiles fine but the result was heinous...the c compiler would
have caught that one.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.