![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++编程基础
文章平均质量分 67
Ym影子
做有技术深度的程序员
展开
-
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++ 异常处理
前言:异常处理是C++的一项语言机制,用于在程序中处理异常事件。异常事件在C++中表示为异常对象。异常事件发生时,程序使用throw关键字抛出异常表达式,抛出点称为异常出现点,由操作系统为程序设置当前异常对象,然后执行程序的当前异常处理代码块,在包含了异常出现点的最内层的try块,依次匹配catch语句中的异常对象(只进行类型匹配,catch参数有时在catch语句中并不会使用到)。若匹配成功,则...原创 2018-02-17 17:50:31 · 213 阅读 · 0 评论 -
C++中如何将十进制转化为二进制(使用外部函数)
C++ 十进制转二进制原创 2018-02-17 13:04:37 · 8643 阅读 · 0 评论 -
C++ 类型转换
前言:类型转换有c风格的,当然还有c++风格的。c风格的转换的格式很简单(TYPE)EXPRESSION,但是c风格的类型转换有不少的缺点,有的时候用c风格的转换是不合适的,因为它可以在任意类型之间转换,比如你可以把一个指向const对象的指针转换成指向非const对象的指针,把一个指向基类对象的指针转换成指向一个派生类对象的指针,这两种转换之间的差别是巨大的,但是传统的c语言风格的类型转换没有区...原创 2018-02-17 10:30:04 · 132 阅读 · 0 评论 -
赋值号重载需要注意的知识点
转载自:http://www.cnblogs.com/zpcdbky/p/5027481.html写在前面: 关于C++的赋值运算符重载函数(operator=),网络以及各种教材上都有很多介绍,但可惜的是,内容大多雷同且不全面。面对这一局面,在下在整合各种资源及融入个人理解的基础上,整理出一篇较为全面/详尽的文章,以飨读者。正文:Ⅰ.举例例1#inclu转载 2018-01-30 15:37:53 · 958 阅读 · 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++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法原创 2018-02-02 17:51:02 · 254 阅读 · 0 评论 -
C++编译器对于多态的实现原理总结
问题:定义一个空的类型,里面没有任何的成员变量或者成员函数,对这个类型进行 sizeof 运算,结果是?结果是1,因为空类型的实例不包含任何信息,按道理 sizeof 计算之后结果是0,但是在声明任何类型的实例的时候,必须在内存占有一定的空间,否则无法使用这些实例,至于占据多少内存大小,由编译器决定。继续问:如果在这个类型里添加一个构造函数和析构函数,那么结果又是多少?还是1,因为我们转载 2018-02-02 16:32:18 · 386 阅读 · 0 评论 -
C++ 析构函数中抛出异常是不明智的!
从语法上面讲,析构函数抛出异常是可以的,C++并没有禁止析构函数引发异常,但是C++不推荐这一做法,从析构函数中抛出异常是及其危险的。析构函数可能在对象正常结束生命周期时调用,也可能在有异常发生时从函数堆栈清理时调用。前一种情况抛出异常不会有无法预料的结果,可以正常捕获;但后一种情况下,因为函数发生了异常而导致函数的局部变量的析构函数被调用,析构函数又抛出异常,本来局部对象抛出的异常应该是转载 2018-02-02 11:25:34 · 966 阅读 · 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++ 顶层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++的函数重载
转载自:https://www.cnblogs.com/skynet/archive/2010/09/05/1818636.html——每个现象后面都隐藏一个本质,关键在于我们是否去挖掘写在前面:函数重载的重要性不言而明,但是你知道C++中函数重载是如何实现的呢(虽然本文谈的是C++中函数重载的实现,但我想其它语言也是类似的)?这个可以分解为下面两个问题1、声明/定义重转载 2018-01-31 14:43:28 · 124 阅读 · 0 评论 -
C++友元类的使用场景
转载自:http://blog.csdn.net/adriano119/article/details/5914443转载 2018-01-31 10:34:52 · 1052 阅读 · 0 评论 -
C++ I/O流
一:流的概念程序的输入指的是从输入文件将数据传送给程序,程序的输出指的是从程序将数据传送给输出文件。C++输入输出包含以下三个方面的内容: 对系统指定的标准设备的输入和输出。即从键盘输入数据,输出到显示器屏幕。这种输入输出称为标准的输入输出,简称标准I/O。 以外存磁盘文件为对象进行输入和输出,即从磁盘文件输入数据,数据输出到磁盘文件。以外存文件为对象的输入输出称为文件的输入输出,简称...原创 2018-02-18 09:44:51 · 549 阅读 · 0 评论