C++面经总结
深耕半夜
愿大家共同进步,建设美好家园
展开
-
C++的 四种强制类型转换 1.static_cast,2.dynamic_cast, 3.const_cast,4.reinterpret_cast
(1)用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。(把基类指针或引用转换成派生类表示)时,由于没有动态类型检查,所以。进行上行转换(把派生类的指针或引用转换成基类表示)是安全的;转换如果成功的话返回的是指向类的指针或引用,转换失败的话则会返回。(4)把任何类型的表达式转换成void类型。没有运行时类型检查来保证转换的安全性。(3)把空指针转换成目标类型的空指针。是运行时处理的,运行时要进行类型检查。)不能用于内置的基本数据类型的强制转换。内所描述的目标类型必须为指针或引用。原创 2023-11-13 21:25:07 · 205 阅读 · 0 评论 -
C++智能指针 精炼总结
3.shared_ptr:共享式 可有多个共享指针同时指向一个对象,采用引用计数的方式计数记录被几个指针共享,当共享指针被释放时,计数-1,直到0后被指向的对象和资源被释放。环形依赖:两个shared_ptr相互引用,那么这两个指针的引用计数永远不会下降为0,因此资源永远不会被释放。2.unique_ptr:独占式 同一时间只允许一个智能指针可以指向一个对象。4.weak_ptr:弱引用 指向共享指针指向的对象,不控制对象生命周期,构造或者析构不会影响计数。usr_count() 查看所有者个数;原创 2023-11-13 17:07:52 · 165 阅读 · 0 评论