c 类 static 函数数组 指针 字符串数组指针字符(3)

电脑杂谈  发布时间:2018-02-16 16:47:25  来源:网络整理

地址安全性:指针要赋初值,指针在数组中的运算时要注意不能越界。

堆对象管理:共享指针,shared_ptr,boost提供的一种回收安全的指针。

C类型转换:隐式转换或者强制类型转换"()"。

C++提供了四个新的转换符:

reinterpret_cast:指针类型转换,是一种存在风险的转换,不会检查两种类型的兼容性,仅仅做指针的类型认定上的一种转变。存在风险。所以就像处理字符编码一样,需要注意转换的初始化类型和转换类型。

static_cast:static_cast相对安全,C++不允许void指针到具体类型指针的转换隐含的发生,这种转换必须显示进行。但void指针的转换可以不用reinterpret_cast,直接用static_cast转换。通常void*只做为一种中间过度的手段。

dynamic_cast:主要用于类层次间的上行转换和下行转换,还可以用于类之间的交叉转换。

在类层次间进行上行转换时,dynamic_cast和static_cast的效果是一样的;在进行下行转换时,dynamic_cast具有类型检查的功能,比static_cast更安全。

const_cast:变量本身的const属性是不能去除的,要想修改变量的值,一般是去除指针(或引用)的const属性,再进行间接修改。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-80668-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...