上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 22 下一页
摘要: 1.概述 联合体union的定义方式与结构体一样,但是二者有根本区别。 在结构中各成员有各自的内存空间,一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间,一个联合变量的长度等于各成员中最长的长度。 2.联合体长度 在The C Programming Language里面 阅读全文
posted @ 2017-04-12 17:47 泡面小王子 阅读(2349) 评论(0) 推荐(0) 编辑
摘要: const_cast <new_type> (expression) static_cast <new_type> (expression) reinterpret_cast <new_type> (expression) dynamic_cast <new_type> (expression) 它 阅读全文
posted @ 2017-04-12 09:15 泡面小王子 阅读(431) 评论(0) 推荐(1) 编辑
摘要: 输出结果: 看到结果,会感觉非常奇怪。1处怎么会输出0呢?2又为何会显示这么大的一个数呢? 解释: 1,之所以没输出5,这是C语言设计的原因。2,之所以输出0,这是计算机体系结构的问题。 具体来说: printf函数不会进行任何类型转换,它只是从内存中读出你所提供的元素的值(按照%d,%f等控制字符 阅读全文
posted @ 2017-04-09 10:55 泡面小王子 阅读(764) 评论(0) 推荐(0) 编辑
摘要: 关于虚函数的背景知识 编译器在编译的时候,发现Base类中有虚函数,此时编译器会为每个包含虚函数的类创建一个虚表(即vtable),该表是一个一维数组,在这个数组中存放每个虚函数的地址。由于Base类和Derive类都包含了一个虚函数func(),编译器会为这两个类都建立一个虚表,(即使子类里面没有 阅读全文
posted @ 2017-04-06 15:47 泡面小王子 阅读(1062) 评论(0) 推荐(0) 编辑
摘要: C++中类的组合 ※组合的概念 ×类中的成员是另一个类的对象。 ×可以在已有的抽象的基础上实现更加复杂的抽象。 通过对复杂对象进行分解、抽象,使我们能够将一个复杂对象 理解为简单对象的组合。 分解得到复杂对象的部件对象,这些部件对象比它高层的复杂 对象更容易理解和实现。然后由这些部件对象来“装配”复 阅读全文
posted @ 2017-04-05 20:14 泡面小王子 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 1.为什么要引入虚拟继承 虚拟继承是多重继承中特有的概念。虚拟基类是为解决多重继承而出现的。如:类D继承自类B1、B2,而类B1、B2都继承自类A,因此在类D中两次出现类A中的变量和函数。为了节省内存空间,可以将B1、B2对A的继承定义为虚拟继承,而A就成了虚拟基类。实现的代码如下: class A 阅读全文
posted @ 2017-04-04 11:22 泡面小王子 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 公有继承时基类中各成员属性保持不变,基类中private成员被隐藏。派生类的成员只能访问基类中的public/protected成员,而不能访问private成员;派生类的对象只能访问基类中的public成员。 私有继承时基类中各成员属性均变为private,并且基类中private成员被隐藏。派生 阅读全文
posted @ 2017-04-01 18:41 泡面小王子 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 在类模板中可以出现三种友元声明:(1)普通非模板类或函数的友元声明,将友元关系授予明确指定的类或函数。(2)类模板或函数模板的友元声明,授予对友元所有实例的访问权。(3)只授予对类模板或函数模板的特定实例的访问权的友元声明。 要注意的是,友元函数并非成员函数,是改变了它对类成员的访问权限。 (1)没 阅读全文
posted @ 2017-03-31 15:11 泡面小王子 阅读(528) 评论(0) 推荐(0) 编辑
摘要: 所谓三次握手(Three-way Handshake),是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。 三次握手的目的是连接服务器指定端口,建立TCP连接,并同步连接双方的序列号和确认号并交换 TCP 窗口大小信息.在socket编程中,客户端执行connect()时。将触发三次握手。 阅读全文
posted @ 2017-03-30 21:12 泡面小王子 阅读(474) 评论(0) 推荐(0) 编辑
摘要: 1、迭代器删除元素 1.序列容器,比如vector序列容器的erase返回的是被删除元素后的有效迭代器。 如果上面程序中要在for循环中使用++iter的话,就需要在删除元素后做一次--iter操作,但这样的效率显然没有上面代码效率高。注意到vector的erase方法在执行后,当前迭代器自动指向了 阅读全文
posted @ 2017-03-25 23:00 泡面小王子 阅读(232) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 22 下一页