作者:loto1115丨 | 来源:互联网 | 2023-01-31 07:16
提供以下代码:
#include
#include
int main()
{
char arr[3] = { 1,2,3 };
std::vector vec = { 1,2,3 };
std::vector vec_one(std::begin(arr), std::end(arr));
std::vector vec_two(vec.begin(), vec.end());
}
是否根据普通类型转换规则定义或定义了初始化vec_one
和vec_two
未定义的实现?
如果交换char
和int
类型怎么办?
1> Bathsheba..:
他们都很好,受到转换时,应用相同的规则char
到int
(所以不担心有),并int
到char
,这将再次受到正常的规则:int
必须足够小,以适应一个char
,如果char
是signed
(否则行为未定义),如果char
是,则定义良好的环绕行为unsigned
.