首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
cclk1024
掘友等级
攻城狮
|
Azeroth
天涯远不远
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
24
文章 24
沸点 0
赞
24
返回
|
搜索文章
最新
热门
c++ singleton & memory order
在上面的代码中,第一次检查并没有加锁,就避免了每次调用instance()时都要加锁的问题。貌似这个方法很完美了吧,逻辑上无懈可击。 其实上述设计方式使用到了双重检查锁定模式(DCLP),下面介绍下什么是DCLP。 双重检查锁定模式(DCLP):DCLP(double-chec…
c++单一头文件全局变量导出
当我们需要提供一些简单的接口时,可能只需要提供单一头文件即可(不需要静、动态库)。但如果需要存在一些全局变量需要定义时则不好处理,本文提供一种方法,通过模版初始化的特性进行导出单一头文件的全局变量。下面介绍一些现有静、动态库定义全局变量的方法。 extern可置于变量或者函数前…
c++11线程池
c++11加入了线程库std::thread,很好的解决了c++跨平台创建线程等繁琐的问题,但对于多线程的应用还是比较低级的,稍微高级的用法都需要自己去实现。比如场景线程池操作。 根据c++11的新特性,包括std::thread、std::function、std::mute…
c++开发线程安全的SDK
平时在封装SDK接口给上层应用调用时,理论上我们希望该SDK是可以在多线程环境下运行的,那样就可以避免上层应用多线程乱入的问题。 但如何设计一个多线程安全的SDK呢,想到的常规做法可能是加锁。使用加锁的方式,简单的接口可能比较容易实现,但如果是复杂的类导出,用锁就比较麻烦了,因…
c++判断类是否可用
这个需要在智能指针的实现中尤其明显,因为它可以保证与原生C++ 指针在用法上的一致性。明显的解决方法是重载 operator bool() 转换,但是这样问题太多,Effective C++ 里面有讨论。还有一个办法是重载 operator ! ,但是这样我们就不得不用 if(…
c++模块日志设计
在程序中写日志是一件非常重要,但是很容易被开发人员忽视的地方。C++有挺多的日志库(如glog,log4cpp等),方便开发人员写日志。但一般这种log库考虑的是应用写log的方法。而C++作为轮子的制造者,迫切的需求是有一个轻量级的模块日志,方便开发人员在库内写日志。 在库内…
c++双队列
平时在做一些数据处理中,会遇到一个读线程,一个写线程的情形,为了方便使用,可以简单封装一下线程安全的队列。 为了方便自动释放空间,设计只支持传入指针对象。 但平时实际运用中,可能的需求是一个队列用于读,一个队列用于写;读队列用完之后会放入写队列;为了简化外部使用和自动管理,可以…
c++11新特性
C++11是曾经被叫做C++0x,是对目前C++语言的扩展和修正,C++11不仅包含核心语言的新机能,而且扩展了C++的标准程序库(STL),并入了大部分的C++ Technical Report 1(TR1)程序库(数学的特殊函数除外)。 C++11包括大量的新特性:包括la…
Linux/Windows性能分析工具
1. Linux性能分析 2. Windows性能分析 WPA(Windows Performance Analyzer)是一个日志分析工具,使用它可以对WPR生成的.etl日志文件加以分析得出方便人阅读的数据图表。
mqtt协议介绍1(发展、对比、包结构)
MQTT 5:【最新版本】,OASIS标准,协议可适用。在v3.1.1版本的基础上增加了会话/消息延时功能、原因码、主题别名、in-flight流控、属性、共享订阅等功能,增加了用于增强认证的AUTH报文。 MQTT-SN v1.2:【传感器网络版本】以前称为,MQTT-S,英…
下一页
个人成就
文章被点赞
28
文章被阅读
17,599
掘力值
252
关注了
3
关注者
5
收藏集
0
关注标签
4
加入于
2020-12-19