C++ Primer 说字符和字符串文字可以转换为strings。
我尝试为 a 分配一个字符string:
std::string s;
s = 's';
Run Code Online (Sandbox Code Playgroud)
它没有给我任何错误。
但是,当我尝试将字符分配给 a vectorof strings 对象时:
std::vector<std::string> svec;
svec = {'a', 'b'};
Run Code Online (Sandbox Code Playgroud)
它给了我一个错误。为什么?
signed char a = 128;
假设一个字节是8位,这是未定义的吗?
我所知道的是,将超出范围的值分配给有符号类型是未定义的,但 Bjarne Stroustrup 在 C++ 编程语言中说,如果我将整数 255 分配给 8 位字节机器上的 char,其中 char 是有符号的结果是-1。