51CTO首页
AI.x社区
博客
学堂
精品班
软考社区
免费课
企业培训
鸿蒙开发者社区
信创认证
公众号矩阵
移动端
视频课
免费课
排行榜
短视频
直播课
软考学堂
全部课程
软考
信创认证
华为认证
厂商认证
IT技术
PMP项目管理
免费题库
在线学习
文章
资源
问答
课堂
专栏
直播
51CTO
鸿蒙开发者社区
51CTO技术栈
51CTO官微
51CTO学堂
51CTO博客
CTO训练营
鸿蒙开发者社区订阅号
51CTO软考
51CTO学堂APP
51CTO学堂企业版APP
鸿蒙开发者社区视频号
51CTO软考题库
鸿蒙开发者社区
首页
帖子
问答
资源
课堂
直播
发现
登录/注册
51CTO
中国优质的IT技术网站
51CTO博客
专业IT技术创作平台
51CTO学堂
IT职业在线教育平台
活动
短视频
专栏
极客Show
鸿蒙技术特刊
我的关注
全部帖子
操作系统
OpenHarmony
HarmonyOS
其他
应用开发
卡片开发
三方库
IDE
其他
设备开发
海思开发板
树莓派
其他
框架语言
C/C++
Java
JavaScript
ArkUI / eTS
其他
其他
物联网
云原生
数据库
操作系统
大数据
人工智能
开发语言
其他
社区版务
社区公告
社区生活
社区规则
意见反馈
社区活动
默认
发布时间
热度
原创
精华
热门标签
HarmonyOS
ArkTS
实战教程
「编程模型」C++ 封装资源
引子最近2个月在做一个嵌入式C++项目,Soc提供的API都是C接口的,剩下的业务功能开发就全靠自己动手实现了。一般这类项目,有直接用C开发的,也有用C++封装一下来降低复杂度。场景这类C接口中,有很大一部分是资源管理和操作的,这里的资源一般指使用前需要申请,使用后需要释放的某种有限的东西。操作系统中带有Open、Close类似接口的都属这类,如文件、网络等,当然也有自己封装的资源,以及第三方库的。使用资源,最麻烦的就...
蓝月亮
0回复
1.3w浏览
封装资源
左值引用、右值引用、移动语义、完美转发,你知道的不知道的都在
众所周知C++11新增了右值引用,谈右值引用我们也可以扩展一些相关概念:左值右值纯右值将亡值左值引用右值引用移动语义完美转发返回值优化我们下面会一一介绍:左值、右值概念1:左值:可以放到等号左边的东西叫左值。右值:不可以放到等号左边的东西就叫右值。概念2:左值:可以取地址并且有名字的东西就是左值。右值:不能取地址的没有名字的东西就是右值。左值一般有:函数名和变量名返回左值引用的函数调用前置自增自减表达...
蓝月亮
0回复
1.8w浏览
左值引用
右值引用
移动语义
完美转发
C++ 中如何设计一个高效 log 模块
每个开发者编程中都会记录log信息,多数人都会使用log第三方库,log库使用起来很方便,但我们也需要了解log系统的原理,这里以glog为例进行分析。开始这里不会介绍glog中是如何控制INFO、ERROR等级别的输出的,其实就是一个宏控制,主要介绍googleglog中一次LOG(INFO)过程中究竟发生了什么,以及为什么glog是线程安全的。glog中的LOG(INFO)其实是一个宏定义,如下:而COMPACTGOOGLELOGINFO也是一个宏,如下:这里就构造了一个go...
蓝月亮
0回复
2.0w浏览
c++
C++ 深入浅出工厂模式(进阶篇)
介绍前文初始篇C++深入浅出工厂模式(初始篇),主要阐述了简单工厂模式、工厂方法模式和抽象工厂模式的结构、特点和缺陷等。以上三种方式,在新增产品时,要么修改工厂类,要么需新增具体的工厂类,说明工厂类的封装性还不够好。本文进阶篇,主要是将工厂类的封装性提高,达到新增产品时,也不需要修改工厂类,不需要新增具体的工厂类。封装性高的工厂类特点是扩展性高、复用性也高。模板工厂针对工厂方法模式封装成模板工厂类...
蓝月亮
0回复
1.2w浏览
工厂模式
C++ 深入浅出工厂模式(初识篇)
初识工厂模式我们先看工厂模式的介绍这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。简单来说,使用了C++多态的特性,将存在继承关系的类,通过一个工厂类创建对应的子类(派生类)对象。在项目复杂的情况下,可以便于子类对象的创建。工厂模式的实现方式可分别简单工厂模式、工厂方法模式、抽...
蓝月亮
0回复
1.2w浏览
工厂模式
C++ 借来的资源,如何还的潇洒?
所谓的资源就是,一旦用了它,将来必须还给系统。如果不是这样,糟糕的事情就会发生。C++程序内常见的资源:动态分配内存文件描述符互斥锁图形页面中的字型和笔刷数据库连接网络sockets无论哪一种资源,重要的是,当你不再使用它时,必须将它还给系统,有借有还是个好习惯。细节01:以对象管理资源把资源放在析构函数,交给析构函数释放资源「智能指针」是个好帮手,交给它去管理指针对象。对于是由动态分配(new)于堆内存的对...
蓝月亮
0回复
1.3w浏览
C/C++
C++ 一篇搞懂继承的常见特性
继承和派生继承和派生的概念继承:在定义一个新的类B时,如果该类与某个已有的类A相似(指的是B拥有A的全部特点),那么就可以把A作为一个基类,而把B作为基类的一个派生类(也称子类)。派生类:派生类是通过对基类进行修改和扩充得到的,在派生类中,可以扩充新的成员变量和成员函数。派生类拥有基类的全部成员函数和成员变量,不论是private、protected、public。需要注意的是:在派生类的各个成员函数中,不能访问基类的pri...
wg_caddBjEB
0回复
2.1w浏览
继承
派生
C++ 线程安全的单例模式简介
什么是线程安全?在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行,不会出现数据污染等意外情况。如何保证线程安全?给共享的资源加把锁,保证每个资源变量每时每刻至多被一个线程占用。让线程也拥有资源,不用去共享进程中的资源。如:使用threadlocal可以为每个线程的维护一个私有的本地变量。什么是单例模式?单例模式指在整个系统生命周期里,保证一个类只能产...
wg_caddBjEB
0回复
1.4w浏览
线程安全
单例模式
为什么我仍然建议你学C语言
现在C语言确实有点老。权威性C语言的最新版本于1988年发布。近30年来,该语言的作者尚未对其进行更新,这表明它已经过时了,现在,关于编程语言的话题,每个人都想到Rust,Go或Clojure,但很少有人想到C。但是我的同事Myles和我都不是追求潮流的人,因此我们坚持让所有学生都熟练掌握C语言。之所以要求学生学习这门古老的编程语言,我们有下面4个理由:在湾区的web和移动初创企业之外的地方,C语言依然是一个被广泛应用的编程语...
kcoufee
1回复
1.3w浏览
学习
暂无内容
1
26
27
28
29
30
31
32
33
34
35
精选
客服
订阅鸿蒙技术特刊,精选内容抢先看
微信扫码关注,即刻订阅