随笔分类 -  C++

C++11/C++14,mfc,C#,Direct2D,Log4cpp
摘要:套接字 套接字指通信双方在通信时所使用的通信点(Endpoint),通信的双方通过通信点来交换信息和数据。不同类型的通信会使用不同的类型通信点,比如对于电话通信而言,通信点就是电话号码和分机号码的组合,这时因为如果你想和朋友通话,就需要拨打你朋友的电话号码和分机号码。对于IP网络通信而言,通信点就是 阅读全文
posted @ 2018-08-01 21:20 ye_ming 阅读(209) 评论(0) 推荐(0)
摘要:单链表的结构有多种 这里介绍的链表有头结点、有尾节点并且尾节点指向头结点 单链表的每个结点的地址存放在其直接前驱结点的指针域中。其中第一个结点没有前驱结点,因此需要一个头指针指向第一个节点,便于我们对整个链表进行操作;这里的单链表的最后一个节点的指针域存放的是头结点的地址。 单链表不能随意存取,必要 阅读全文
posted @ 2018-07-28 18:15 ye_ming 阅读(351) 评论(0) 推荐(0)
摘要:可以看到i是拷贝值,j是引用值,所以是24,结果26 把lambda表达式当作参数传送 把lambda表达式当作参数传送 lambda表达式嵌套使用 lambda表达式嵌套使用 ambda表达式使用在高阶函数里 ambda表达式使用在高阶函数里 阅读全文
posted @ 2018-07-22 18:51 ye_ming 阅读(514) 评论(0) 推荐(0)
摘要:为什么要lambda函数 匿名函数是许多编程语言都支持的概念,有函数体,没有函数名。1958年,lisp首先采用匿名函数,匿名函数最常用的是作为回调函数的值。正因为有这样的需求,c++引入了lambda 函数,你可以在你的源码中内联一个lambda函数,这就使得创建快速的,一次性的函数变得简单了。例 阅读全文
posted @ 2018-07-14 21:16 ye_ming 阅读(13131) 评论(0) 推荐(2)
摘要:volatile作用: 作为指令关键字,确保本条指令不会受到编译器的优化而省略,而且要求每次直接读值。 定义: volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进 阅读全文
posted @ 2018-07-13 17:25 ye_ming 阅读(431) 评论(0) 推荐(0)
摘要:最近闲来无事,翻阅msdn,在预编译指令中,翻阅到#pragma pack这个预处理指令,这个预处理指令为结构体内存对齐指令,偶然发现还有另外的内存对齐指令aligns(C++11),__declspec(align(#))(Microsoft专用),遂去探究两者之间的不同点。 1、#pragma 阅读全文
posted @ 2018-07-13 16:33 ye_ming 阅读(2260) 评论(0) 推荐(0)
摘要:1 基本语法 decltype 类型说明符生成指定表达式的类型。在此过程中,编译器分析表达式并得到它的类型,却不实际计算表达式的值。 语法为: 编译器使用下列规则来确定expression 参数的类型。 如果 expression 参数是标识符或类成员访问,则 decltype(expression 阅读全文
posted @ 2018-07-13 14:21 ye_ming 阅读(359) 评论(0) 推荐(0)
摘要:一. 什么是拷贝构造函数 首先对于普通类型的对象来说,它们之间的复制是很简单的,例如: 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。 运行程序,屏幕输出100。从以上代码的运行结果可以看出,系统为对象 B 分配了内存并完成了与对象 A 的复制 阅读全文
posted @ 2018-07-12 16:57 ye_ming 阅读(438) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-07-12 15:52 ye_ming 阅读(0) 评论(0) 推荐(0)
摘要:C++ 允许在同一作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载。 重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。 当您调用一个重载函数或重载运算符时,编译器通过把您所使用的参数类型与定义中的参数类型进行比较 阅读全文
posted @ 2018-07-12 11:00 ye_ming 阅读(208) 评论(0) 推荐(0)
摘要:数据抽象是指,只向外界提供关键信息,并隐藏其后台的实现细节,即只表现必要的信息而不呈现细节。 数据抽象是一种依赖于接口和实现分离的编程(设计)技术。 让我们举一个现实生活中的真实例子,比如一台电视机,您可以打开和关闭、切换频道、调整音量、添加外部组件(如喇叭、录像机、DVD 播放器),但是您不知道它 阅读全文
posted @ 2018-07-12 10:22 ye_ming 阅读(497) 评论(0) 推荐(0)
摘要:我觉得学完虚函数和存虚函数应该趁热看看接口是怎么实现的,因为怎么说,他们都是一个东西。 接口描述了类的行为和功能,而不需要完成类的特定实现。 C++ 接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念。 如果类中至少有一个函数被声明为纯虚函数,则这个 阅读全文
posted @ 2018-07-12 09:05 ye_ming 阅读(252) 评论(0) 推荐(0)
摘要:转自:C++使用thread类多线程编程 C++11中引入了一个用于多线程操作的thread类,下面进行简单演示如何使用,以及如果进行多线程同步。 thread简单示例 thread简单示例 输出: thread detach不阻塞主线程 thread detach不阻塞主线程 两个子线程并行执行, 阅读全文
posted @ 2018-07-11 17:51 ye_ming 阅读(4838) 评论(0) 推荐(1)
摘要:作者:赵宗晟 出处:https://www.cnblogs.com/zhao-zongsheng/p/9099603.html 很多写C/C++的人都知道“内存对齐”的概念以及规则,但不一定对他有很深入的了解。这篇文章试着从硬件到C++语言、更彻底地讲一下C++的内存对齐。 什么是内存对齐(memo 阅读全文
posted @ 2018-07-11 16:53 ye_ming 阅读(1510) 评论(0) 推荐(0)
摘要:恢复内容开始 在C++中的一种函数申明被称之为:纯虚函数(pure virtual function).它的申明格式如下 在什么情况下使用纯虚函数(pure vitrual function)? 1,当想在基类中抽象出一个方法,且该基类只做能被继承,而不能被实例化; 2,这个方法必须在派生类(der 阅读全文
posted @ 2018-07-11 14:56 ye_ming 阅读(4685) 评论(1) 推荐(0)
摘要:误区 你能估算出结果吗?如果你估算出的结果是A::fun和A::fun2,呵呵,恭喜恭喜,你中圈套了。其实真正的结果是B::fun和B::fun2,如果你想不通就接着往下看。给个提示,&A::fun和&A::fun2是真正获得了虚函数的地址吗? 首先我们回到第二部分,通过段实作代码,得到一个“通用” 阅读全文
posted @ 2018-07-11 14:22 ye_ming 阅读(209) 评论(0) 推荐(0)
摘要:虚函数是如何做到的 如果你没有看过《Inside The C++ Object Model》这本书,但又急切想知道,那你就应该从这里开始) 虚函数是如何做到因对象的不同而调用其相应的函数的呢?现在我们就来剖析虚函数。我们先定义两个类 由于这两个类中有虚函数存在,所以编译器就会为他们两个分别插入一段你 阅读全文
posted @ 2018-07-11 09:36 ye_ming 阅读(573) 评论(0) 推荐(0)
摘要:Struct _finddata_t是用来存储文件各种信息的结构体,使用这个结构体要引用的头文件为“ #include <io.h>”它的结构体定义如下: 改结构体中各成员的变量的含义如下: 这些都是在中定义的宏,可以直接使用,而本身的意义其实是一个无符号整型(只不过这个整型应该是2的几次幂,从而保 阅读全文
posted @ 2018-07-10 22:03 ye_ming 阅读(8002) 评论(1) 推荐(0)
摘要:首先,虚函数是这么定义的,简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的方法,但因个体差异,而采用不同的策略。大家能看懂吗? 反正我是看不懂所以 阅读全文
posted @ 2018-07-10 09:35 ye_ming 阅读(221) 评论(0) 推荐(0)
摘要:关于正常怎么使用gSOAP的话,下面那篇博客已经讲得非常详细,我就不再赘述了 https://www.cnblogs.com/dengpeng1004/p/6165751.html 问题1: WCF server with basicHttpBinding use soap1.1, while gS 阅读全文
posted @ 2018-07-09 11:55 ye_ming 阅读(439) 评论(0) 推荐(0)