![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 89
Ym影子
做有技术深度的程序员
展开
-
C++ 17 filesystem
C++ 17 filesystem原创 2022-08-17 09:24:03 · 135 阅读 · 0 评论 -
C++ 17新特性
C++17 新特性原创 2022-08-16 10:13:53 · 684 阅读 · 0 评论 -
C++ 14 常用新特性
C++ 14 新特性原创 2022-08-15 11:59:22 · 1418 阅读 · 0 评论 -
C++ 11 新特性 汇总篇
C++ 11 7万字汇总篇原创 2022-08-12 10:17:39 · 1336 阅读 · 0 评论 -
C++ 11 新容器和新算法
C++ 11 新容器与新算法原创 2022-08-12 10:15:45 · 469 阅读 · 0 评论 -
C++ 11 chrono
C++ 11 时间库 chrono原创 2022-08-11 17:27:06 · 709 阅读 · 0 评论 -
C++11 内存对齐
C++11 内存对齐原创 2022-08-11 09:29:33 · 176 阅读 · 0 评论 -
C++ 11 智能指针
C++ 11 智能指针分析原创 2022-08-10 09:52:51 · 205 阅读 · 0 评论 -
C++ 11 右值与完美转发
C++ 11 右值与完美转发原创 2022-08-09 10:32:14 · 366 阅读 · 0 评论 -
C++ 11 模板改进
C++ 11 模板原创 2022-08-08 15:31:09 · 246 阅读 · 0 评论 -
创建型设计模式- C++实现
设计模式-创建类设计模式 - C++实现原创 2022-08-03 11:33:47 · 196 阅读 · 0 评论 -
C++11 线程相关操作
C++11 线程相关操作原创 2022-08-02 09:28:00 · 719 阅读 · 0 评论 -
五种网络IO模型分析
IO模型原创 2022-07-30 17:39:46 · 447 阅读 · 0 评论 -
Linux 常用工具
Linux 工具类原创 2022-07-27 16:26:18 · 1783 阅读 · 0 评论 -
GIT 常用操作
GIT 总结原创 2022-07-27 10:44:34 · 2229 阅读 · 0 评论 -
atomic - 原子操作
【do best document】 C++ atomic 使用分析原创 2022-07-25 16:26:02 · 710 阅读 · 0 评论 -
C语言解压标准ZIP文件到内存
查了很多资料,就直接baidu “C语言怎么解压ZIP文件”,被坑了一把,说使用库zlib,然后去压缩zip文件,解压zip文件,我做了一些测试,然后就发现 —— 完全解压不了好吧!!!我的压缩包中一般只有一个文件,有的时候会有两个文件,但是使用gzOpen也好,uncompress也好,都解压不了,gzOpen会显示大小一致,uncompress良心一点,会给一个-3的返回值,告诉你的文件有损坏。但是我的文件在解压工具下是可以解压的,最后没有办法,找到了一个开源的C语言解压zip的工具的源码,然后把里原创 2020-05-09 16:47:21 · 3265 阅读 · 0 评论 -
C++实现的仿照ini配置文件格式的日志读取
我比较喜欢ini格式的配置文件,但是网上找到的直接可以用的ini读取类都是Windows API做的,也没办法,毕竟是windows环境下的一种日志格式,于是用一下午的时间仿照这种格式做了一个类似的日志读取类。配置文件的格式类似这样:[SwanQPeMicroserver1]port=8080IP=0.0.0.0[SwanQPeMicroserver2]port=8080原创 2018-01-30 19:21:42 · 1724 阅读 · 0 评论 -
C++友元类的使用场景
转载自:http://blog.csdn.net/adriano119/article/details/5914443转载 2018-01-31 10:34:52 · 1052 阅读 · 0 评论 -
C++的函数重载
转载自:https://www.cnblogs.com/skynet/archive/2010/09/05/1818636.html——每个现象后面都隐藏一个本质,关键在于我们是否去挖掘写在前面:函数重载的重要性不言而明,但是你知道C++中函数重载是如何实现的呢(虽然本文谈的是C++中函数重载的实现,但我想其它语言也是类似的)?这个可以分解为下面两个问题1、声明/定义重转载 2018-01-31 14:43:28 · 124 阅读 · 0 评论 -
C++ 顶层const与底层const的区别
转载自:https://www.cnblogs.com/xuaidongstdudyrecording/p/6053633.html底层const是代表对象本身是一个常量(不可改变); 顶层const是代表指针的值是一个常量,而指针的值(即对象的地址)的内容可以改变(指向的不可改变); 1 #include 2 3 int main() 4 { 5转载 2018-01-31 15:13:21 · 309 阅读 · 0 评论 -
C++ 函数对象与bind
转载自:http://www.cnblogs.com/ljygoodgoodstudydaydayup/p/5813247.html函数对象实质上是一个实现了operator()--括号操作符--的类。class Add{public: int operator()(int a, int b) { return a + b;转载 2018-02-01 09:17:26 · 269 阅读 · 0 评论 -
C++ 析构函数中抛出异常是不明智的!
从语法上面讲,析构函数抛出异常是可以的,C++并没有禁止析构函数引发异常,但是C++不推荐这一做法,从析构函数中抛出异常是及其危险的。析构函数可能在对象正常结束生命周期时调用,也可能在有异常发生时从函数堆栈清理时调用。前一种情况抛出异常不会有无法预料的结果,可以正常捕获;但后一种情况下,因为函数发生了异常而导致函数的局部变量的析构函数被调用,析构函数又抛出异常,本来局部对象抛出的异常应该是转载 2018-02-02 11:25:34 · 966 阅读 · 0 评论 -
C++编译器对于多态的实现原理总结
问题:定义一个空的类型,里面没有任何的成员变量或者成员函数,对这个类型进行 sizeof 运算,结果是?结果是1,因为空类型的实例不包含任何信息,按道理 sizeof 计算之后结果是0,但是在声明任何类型的实例的时候,必须在内存占有一定的空间,否则无法使用这些实例,至于占据多少内存大小,由编译器决定。继续问:如果在这个类型里添加一个构造函数和析构函数,那么结果又是多少?还是1,因为我们转载 2018-02-02 16:32:18 · 386 阅读 · 0 评论 -
C++中使用虚函数表绕过C++类中权限机制
前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法原创 2018-02-02 17:51:02 · 254 阅读 · 0 评论 -
函数指针动态调用dll中的函数
转载自:http://blog.csdn.net/hzhxxx/article/details/821089/******************************************************************////name : GetKey//function : 校验密码 //access : public/转载 2018-02-05 09:48:44 · 1301 阅读 · 0 评论 -
C++ 类型转换
前言:类型转换有c风格的,当然还有c++风格的。c风格的转换的格式很简单(TYPE)EXPRESSION,但是c风格的类型转换有不少的缺点,有的时候用c风格的转换是不合适的,因为它可以在任意类型之间转换,比如你可以把一个指向const对象的指针转换成指向非const对象的指针,把一个指向基类对象的指针转换成指向一个派生类对象的指针,这两种转换之间的差别是巨大的,但是传统的c语言风格的类型转换没有区...原创 2018-02-17 10:30:04 · 132 阅读 · 0 评论 -
C++中如何将十进制转化为二进制(使用外部函数)
C++ 十进制转二进制原创 2018-02-17 13:04:37 · 8643 阅读 · 0 评论 -
C++ 异常处理
前言:异常处理是C++的一项语言机制,用于在程序中处理异常事件。异常事件在C++中表示为异常对象。异常事件发生时,程序使用throw关键字抛出异常表达式,抛出点称为异常出现点,由操作系统为程序设置当前异常对象,然后执行程序的当前异常处理代码块,在包含了异常出现点的最内层的try块,依次匹配catch语句中的异常对象(只进行类型匹配,catch参数有时在catch语句中并不会使用到)。若匹配成功,则...原创 2018-02-17 17:50:31 · 213 阅读 · 0 评论 -
C++ I/O流
一:流的概念程序的输入指的是从输入文件将数据传送给程序,程序的输出指的是从程序将数据传送给输出文件。C++输入输出包含以下三个方面的内容: 对系统指定的标准设备的输入和输出。即从键盘输入数据,输出到显示器屏幕。这种输入输出称为标准的输入输出,简称标准I/O。 以外存磁盘文件为对象进行输入和输出,即从磁盘文件输入数据,数据输出到磁盘文件。以外存文件为对象的输入输出称为文件的输入输出,简称...原创 2018-02-18 09:44:51 · 549 阅读 · 0 评论 -
C++ 中 NRVO优化与RVO优化
RVO (return value optimization) 和NRVO (named return value optimization) 是C++在处理 “返回一个class object的函数” 时常用的优化技术,主要作用就是消除临时对象的构造和析构成本。目前我正在研究《深度探索C++对象模型》,对于这两种常见的编译器优化有了初步的了解。接下来以一个名叫Point3d的类和一个factor...转载 2018-02-23 16:56:34 · 1000 阅读 · 0 评论 -
JNI 与C++ 的那些事儿
一、 JNI基本概念JNI全称 JavaNative Interface,指java本地接口,使java程序可以调用本地应用/库,也可以被其他程序调用。本地程序一般是由其他语言(c/c++)编写,并且被编译为基于本地硬件和操作系统的程序。二、JNI工作原理在JNI中,本地函数是通过一个独立的.c或.cpp文件来实现的(C++为JNI提供的界面会更简洁一些)。当JVM调用该函数时,它传递了一个JN...原创 2018-03-05 11:15:37 · 792 阅读 · 0 评论 -
FileSystemWatcher事件多次触发的解决方法 (C++版)
FileSystemWatcher这篇文章是承接上一篇文章发布的,主要是解决使用FileSystemWatcher类时出现的多次检测到相同文件,还有FTP下载产物中间文件TMP的鉴别1.使用时间戳 我查了很多资料,其中有一个BACON的人发表了这么一篇文章:https://spin.atomicobject.com/2010/07/08/consolidate-multiple原创 2017-09-14 11:50:57 · 1176 阅读 · 0 评论