On Fri, Mar 25, 2016 at 9:59 AM, Etienne Bergeron via cfe-commits < cfe-commits@lists.llvm.org> wrote:
> etienneb created this revision. > etienneb added a subscriber: cfe-commits. > > The string class contains methods which support receiving either a string > literal or a string object. > > For example, calls to append can receive either a char* or a string. > ``` > string& append (const string& str); > string& append (const char* s); > ``` > > Which make these cases equivalent, and the .c_str() useless: > ``` > std::string s = "123"; > str.append(s); > str.append(s.c_str()); > ``` > > In these cases, removing .c_str() doesn't provide any size or speed > improvement. > It's only a readability issue. > potential speed improvement by not having to search for the null terminator > > If the string contains embedded NUL characters, the string literal and > the string > object won't produce the same semantic. > > > http://reviews.llvm.org/D18475 > > Files: > clang-tidy/readability/RedundantStringCStrCheck.cpp > test/clang-tidy/readability-redundant-string-cstr.cpp > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits > >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits