I have a simple question. I want to know whether
char* first_string = new char;
tst_second_string will be constructed using the constructor to
const char*. Since the number of characters before the nul-terminator is the same in both cases, you'd imagine that the construction will be exactly identical. That said the C++ standard is intentionally vague as to what must happen with regards to memory management so you will not know with absolute certainty.
Note also that many
std::string implementations exploit a short string optimisation technique for small strings which causes the entire object to be written to memory with automatic storage duration. In your case, dynamic memory may not be used at all.
What we do know for certain is that from C++11 onwards, copy on write semantics for
std::string is not longer permitted, so two distinct strings will be created.