string h;
h = 's' + "ss";// справа строка?
cout << endl << h;// выводит странный символ
string h1('s'+"ss");// конструктор есть
问题:如果 's'= char,“ss”= const char[3],最终结果是什么类型,添加后最有可能(我不确定)转换为 const char*
string h;
h = 's' + "ss";// справа строка?
cout << endl << h;// выводит странный символ
string h1('s'+"ss");// конструктор есть
问题:如果 's'= char,“ss”= const char[3],最终结果是什么类型,添加后最有可能(我不确定)转换为 const char*
如果您不想使用调试器等,请执行以下操作:
我们看到输出即将到来
GHIJKLMNOPQRSTUVWXYZ,即 该行缺少 32 个字符。也许这个空格的 ASCII 码是 0x20 (32) 这不仅仅是一个巧合?:)所以你最终会得到一个远远超出分配内存的字符串,即 UB。谁知道那里会出现什么标志......