Earlier quoted context omitted.
This is the archetypal problem with benchmarks: not only are they hard to design, but people will incorrectly nit-pick the results. You count the number of allocations, without looking at the big picture: this is a toy example. It provides the hard-coded input to the function. This results in the C version not having to allocate memory for the hard-coded literals and the function problably being inlined and optimized…
C++14's "meow"s is syntactic sugar for string("meow"), with identical efficiency.
auto str = "something";
Why is "str" a "const char " rather than a std::string? Tested using "-std=c++14" with both gcc version 4.9.1, clang 3.5.0 and with both libstdc++ and libc++ ?[edit] If you're the guy who does the MSDN videos on C++, thank you*. They've been incredibly useful to me.