相关疑难解决方法(0)

C++为char分配一个int - 为什么这个没有至少一个警告?

为什么C++(也可能是C)允许我为char分配和int而不至少给我一个警告?

是否可以直接分配值,例如

int i = 12;
char c = i;
Run Code Online (Sandbox Code Playgroud)

即做一个隐式转换,或者我应该使用static_cast<>

编辑

顺便说一下,我正在使用gcc.

c++

6
推荐指数
1
解决办法
4933
查看次数

怎么样{int i = 999; char c = i;}与{char c = 999;}不同?

我的朋友说他在某些页面上看到它们是不同的,但两者怎么可能不同呢?

情况1

 int i=999;
 char c=i;
Run Code Online (Sandbox Code Playgroud)

案例2

 char c=999;
Run Code Online (Sandbox Code Playgroud)

在第一种情况下,我们正在初始化整数i999,然后初始化 ci,这实际上是999.在第二种情况下,我们初始化c直接与999.The截断和一旁的信息丢失,如何在地球上是这两种情况有什么不同?

编辑

这是我正在谈论的链接

为什么在将int转换为char时没有溢出警告

一位评论的成员说 - 这不是一回事.第一个是赋值,第二个是初始化

那么这不仅仅是编译器的优化问题吗?

c

4
推荐指数
1
解决办法
355
查看次数

标签 统计

c ×1

c++ ×1