#include <iostream>
using namespace std;
int main( ) {
std:: string a = "a" ;
char b = 'b' ;
std:: string ab = a + b;
std:: cout << ab << std:: endl ;
char d = 'd' ;
char e = 'e' ;
// this works though, using the std::string(const char* c, const int len) constructor
std:: string de2 = std:: string ( & d, 1 ) + e;
std:: cout << de2 << std:: endl ;
// for some reason, which I should look into
// std::string won't let us directly assign this value like
// probably because it tries to use the constructor, which doesn't exist.
//std::string de = static_cast<char>(d + e);
std:: string de;
de = char ( d + e) ;
//std::cout << de << std::endl; // uncomment this line and everything breaks, really bad!
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgc3RkOjpzdHJpbmcgYSA9ICJhIjsKICBjaGFyIGIgPSAnYic7CiAgc3RkOjpzdHJpbmcgYWIgPSBhICsgYjsKICBzdGQ6OmNvdXQgPDwgYWIgPDwgc3RkOjplbmRsOwogIAogIGNoYXIgZCA9ICdkJzsKICBjaGFyIGUgPSAnZSc7CiAgLy8gdGhpcyB3b3JrcyB0aG91Z2gsIHVzaW5nIHRoZSBzdGQ6OnN0cmluZyhjb25zdCBjaGFyKiBjLCBjb25zdCBpbnQgbGVuKSBjb25zdHJ1Y3RvcgogIHN0ZDo6c3RyaW5nIGRlMiA9IHN0ZDo6c3RyaW5nKCZkLCAxKSArIGU7CiAgc3RkOjpjb3V0IDw8IGRlMiA8PCBzdGQ6OmVuZGw7CiAgCiAgLy8gZm9yIHNvbWUgcmVhc29uLCB3aGljaCBJIHNob3VsZCBsb29rIGludG8KICAvLyBzdGQ6OnN0cmluZyB3b24ndCBsZXQgdXMgZGlyZWN0bHkgYXNzaWduIHRoaXMgdmFsdWUgbGlrZQogIC8vIHByb2JhYmx5IGJlY2F1c2UgaXQgdHJpZXMgdG8gdXNlIHRoZSBjb25zdHJ1Y3Rvciwgd2hpY2ggZG9lc24ndCBleGlzdC4KICAvL3N0ZDo6c3RyaW5nIGRlID0gc3RhdGljX2Nhc3Q8Y2hhcj4oZCArIGUpOwogIHN0ZDo6c3RyaW5nIGRlOwogIGRlID0gY2hhcihkICsgZSk7CiAgLy9zdGQ6OmNvdXQgPDwgZGUgPDwgc3RkOjplbmRsOyAvLyB1bmNvbW1lbnQgdGhpcyBsaW5lIGFuZCBldmVyeXRoaW5nIGJyZWFrcywgcmVhbGx5IGJhZCEKICAKICByZXR1cm4gMDsKfQ==