C++ 字符串 += 产生不同的结果

问题描述

为什么下面这段代码会产生不同的结果?是什么原因造成的?

  string s;
  s += 'a';
  s += 'b';
  cout<<s<<endl;//ab
  
  s = "";
  s += 'a' + 'b';
  cout<<s<<endl;//question mark character

解决方法