will it returns right length if internal amount of chars will store '\0' ? 
for example std::string("1\00",3).length() ?