欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 人文社科 > 生活经验 >内容正文

生活经验

c++中static_cast用法与uchar/char的区别

发布时间:2023/11/27 生活经验 43 豆豆
生活随笔 收集整理的这篇文章主要介绍了 c++中static_cast用法与uchar/char的区别 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1、c++中static_cast用法

static_cast是指显性类型强制转换,如:

int  a = static_cast<int>(120.34);

结果为a= 120. 和C语言学习时的显性意义一样,但是编译器会对此类型转换进行检查。
另外还有3种转换:

const属性用const_cast。
基本类型转换用static_cast。
多态类之间的类型转换用daynamic_cast。
不同类型的指针类型转换用reinterpreter_cast。

2、uchar与char

char 是有符号的, uchar(unsigned char)是无符号的.

1、作为字符来表示的话,两者没有什么区别!

2、作为整数来表示的话,由于char是有符号的,于是数值范围为-128~127。而uchar是无符号的,于是数值范围为0~255,在图像处理中表示像素值范围时用的多!

    double b = 257.23;double b1 = 200.23;double b2 = 255.23;double b3 = 256.32;double b4 = -3;uchar a = static_cast<uchar>(b);uchar a1 = static_cast<uchar>(b1);uchar a2 = static_cast<uchar>(b2);uchar a3 = static_cast<uchar>(b3);uchar a4 = static_cast<uchar>(b4);cout << (int)a << endl;cout << (int)a1 << endl;cout << (int)a2 << endl;cout << (int)a3 << endl;cout << (int)a4 << endl;

总结

以上是生活随笔为你收集整理的c++中static_cast用法与uchar/char的区别的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。