自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(230)
  • 资源 (1)
  • 收藏
  • 关注

原创 《C++新经典对象模型》之第5章 函数语义学

缺省参数是静态绑定,考虑执行期间效率问题,好实现。不要在子类中重新定义虚函数缺省参数的值。父类中至少存在一个虚函数,才能获取准确的RTTI信息。RTTI手段,可以在执行期间查询一个多态指针或者多态引用的信息。RTTI能力,通过typeid或者dynamic_cast运算符体现。void myselffunc() {} // 只属于Derive的函数if (1)// 基类指针指向一个子类对象。

2024-05-13 15:38:13 1158

原创 《C++新经典对象模型》之第4章 数据语义学

4.1.2 成员函数参数类型的确定时机(最近碰到原则)04.01.cpp4.2 进程内存空间布局最高内存地址栈区(向下增长)堆区(向上增长)数据段(含BSS段)代码段最低内存地址进程虚拟地址空间(内存)划分:(1)栈(堆栈/栈区):局部变量等。(2)堆(堆区):new、malloc等申请内存空间。(3)BSS段:未初始化全局变量,初始化为0的全局变量。(4)数据段:已初始化的全局变量,包含BSS段。(5)代码段:存放程序执行代码。Linux上列出可执行文件中全局变量等存放位置的

2024-05-13 15:37:59 595

原创 《Linux C/C++服务器开发实践》之第7章 服务器模型设计

网络I/O模型分为异步I/O(asynchronous I/O)和同步I/O(synchronous I/O),同步I/O包括阻塞I/O(blocking I/O)、非阻塞I/O(non-blocking I/O)、多路复用I/O(multiplexing I/O)和信号驱动式I/O(signal-driven I/O)。对于输入操作,进程I/O系统调用后,内核先看缓冲区是否有相应数据,无则到设备(比如网卡设备)读取(设备I/O慢,需等待),有则直接复制到用户进程空间。注册信号处理函数,进程运行不阻塞。

2024-04-11 06:31:35 987 6

原创 《Linux C/C++服务器开发实践》之第6章 原始套接字编程

发送自定义的IP报文、UDP报文、TCP报文、ICMP报文、捕获所有经过本机网卡的数据报、伪装本机IP地址、操作IP首部或传输层协议首部等。(1)收发ICMPv4、ICMPv6和IGMP数据报,只需IP头部预定义好网络层上的协议号。(4)让网卡处于混杂模式,从而能捕获流经网卡的所有数据报。发送接收IP数据报,从而分析TCP、UDP和ICMP。(3)设置对端IP地址,不涉及端口号(传输层才有)。(4)组织IP数据报,即填充首部和数据部分。(5)过滤数据报,即判断是否是需要的数据报。(2)创建原始套接字。

2024-04-11 06:31:17 1093

原创 《C++新经典对象模型》之第6章 对象构造语义学

(2)在构造函数中调用的虚函数从所在类往根类回溯,逐次找这个虚函数,找到哪个就直接调用(静态方式)。(2)类中类类型成员变量具有析构函数,会在析构函数后面插入代码,调用该成员变量所属类的析构函数。(1)构造函数中调用虚函数,并不通过虚函数表来调用,而是直接调用(虚函数有真实地址)。(1)类继承的父类具有析构函数,会在析构函数后面插入代码,调用父类的析构函数。先成员变量(定义顺序,从上到下),后构造函数(先初始化列表,后函数体)。(1)类继承的父类具有析构函数,会合成析构函数并调用父类的析构函数。

2024-03-19 22:10:25 1002

原创 《C++游戏编程入门》第10章 继承与多态:Blackjack

从已有类派生新类,自动继承已有类的数据成员与成员函数。减少工作量。功能函数不必再次编写。减少错误。代码更加清晰。运行时,对象类型决定实际调用的成员函数。虚函数通过引用和指针来产生多态行为。虚析构函数作用:编译器在派生类中插入对基类虚析构函数的调用。class Creature // 抽象类public:// 纯虚函数protected:public:void Orc::Greet() const // 重写纯虚函数int main()

2024-03-14 09:23:06 813

原创 《C++游戏编程入门》第9章 高级类与动态内存:Game Lobby

友元函数对类的任何成员都有完全的访问权。堆(自由存储区),程序员负责分配与释放。对象的组合,对象成员变量含其他对象。

2024-03-13 22:20:43 512

原创 《C++游戏编程入门》第8章 类:Critter Caretaker

class Critter // 类定义,定义新类型Critterpublic:// 声明数据成员// 声明成员函数void Critter::Greet() // 成员函数定义int main()// 对象实例化// 对象操作// 成员函数调用return 0;

2024-03-13 21:51:35 287

原创 《C++游戏编程入门》第7章 指针:Tic-Tac-Toe 2.0

数组名是指向数组第一个元素的常量指针。const用来限制指针。包含内存地址的变量。

2024-03-13 06:37:50 486

原创 《C++游戏编程入门》第6章 引用:Tic-Tac-Toe

/ 空棋盘// 规则介绍// 人类选择先后手// 计算机取对手// X先手// 显示棋盘while (winner(board) == NO_ONE) // 未分胜负// 当前轮次// 人类移动// 下棋else// 计算机移动// 下棋// 显示棋盘// 轮次交替// 宣布获胜情况return 0;// 显示游戏操作指南// 一直询问,直到输入y或ndo。

2024-03-12 21:40:16 278

原创 《C++游戏编程入门》第5章 函数:Mad Lib

Standard Template Library,提供算法、容器和迭代器等。全局变量,程序各部分间共享信息(任意部分都能访问的变量)。短小函数,直接复制到调用处,程序不必跳转。函数名相同,形参个数或类型不相同。变量作用域决定可见范围。为函数形参指定默认值。

2024-03-12 20:43:13 413

原创 《C++游戏编程入门》第4章 标准模板库: Hangman

int main()// 常量、变量初始化unsigned// 常量、变量初始化 const int MAX_WRONG = 8;\n";char guess;return 0;\n";char guess;

2024-03-12 06:56:50 417

原创 《C++游戏编程入门》第3章 for循环、字符串与数组: World Jumble

类与对象,数据与函数封装。存储多个相同类型的元素。

2024-03-11 22:02:21 313

原创 《C++游戏编程入门》第2章 真值、分支与游戏循环: Guess My Number

只用于比较int型(或可当作int型处理的值,char型或枚举型)。注意优先级和短路现象。

2024-03-11 21:42:15 470

原创 《C++游戏编程入门》第1章 类型、变量与标准I/O: Lost Fortune

大量资源库可使用,图像API、2D、3D、物理以及声音引擎。编辑器->源代码->编译器->目标代码->链接器->可执行文件。无法找到外部引用,调整引用关系,重新编译/链接。包括面向对象编程的多范型语言。语法错误,应修复警告。非法操作,逻辑错误等。

2024-03-11 21:19:32 439

原创 《C++新经典对象模型》之第3章 虚函数

(1)含虚函数的类才有虚函数表(二级指针,内部多个虚函数【一级函数指针】编译时已经固定,子类覆盖父类),各个类对象(实例)有各自的vptr(虚函数表指针,三级指针),地址不同,但都指向类的虚函数表。obj指针在栈上,指向一个堆区(Derived实例),该实例中的虚函数表指针在执行类构造函数后,指向数据段中的该类的虚函数表,而虚函数表中每一项指向代码段中的虚函数。(2)同样在编译期间在类构造函数中添加给虚函数表指针vptr赋值的语句,这样运行时,生成类对象,调用构造函数时,会为vptr赋值。

2024-03-08 10:56:12 608

原创 《C++新经典对象模型》之第7章 模板实例化语义学

编译时可能多个.obj文件产生了多个相同的ATPL类,但链接时只保留一个ATPL类实体,其余忽略掉。类模板的显示实例化,所有内容(类、成员函数、虚函数、静态成员变量等)都实例化出来,无论是否调用。虚函数,产生虚函数表,虚函数表需要放置各个虚函数的地址,所以实例化出所以虚函数。编译器编译时根据funcadd的调用来确定函数模板中T的类型。类模板存在虚函数时,会实例化所以虚函数,即使未调用。实例化单独的成员函数,类并未实例化。

2024-03-07 22:22:17 492

原创 《C++新经典对象模型》之第2章 对象

C++新经典对象模型第2章 对象(实例)2.1 类对象占用空间2.2 对象结构的发展和演化第2章 对象(实例)2.1 类对象占用空间对象有地址,地址单元里面保存有内容。即便sizeof(空类)或者size(空类对象),得到的结果是1,不是0。class A {};cout <<sizeof(A); //1类中成员函数不占用类对象内存空间。class A {void func(){};void func1(){};void func2(){};};cout <&lt

2024-03-06 22:16:49 936 3

原创 《C++新经典对象模型》之第1章 演示环境介绍和准备

1.1 演示环境搭建1.2 基本C++程序1.3 Visual Studio中调试方法。

2024-03-05 07:25:41 291

原创 《C++新经典设计模式》之第1章 介绍

模式,事物的标准样式或者针对特定问题的可重用解决方案。反复使用的代码设计经验的总结。提高开发效率的编程方法。常见问题的通用解决方法。特定问题发生时的可重用解决方案。描述模块或类对象间关系、职责,以及它们之间的分工与合作。保证模块间的代码灵活性和可复用性,增加了复杂性。灵活性(可扩展性/低耦合性)游戏中人物和衣服分开。修改现有代码不影响其他部分代码(修改代码集中在一起)。增加内容时,不或少修改已有内容。可复用性可重复用,被多处调用。多态性。

2023-12-13 07:52:33 317

原创 《C++新经典设计模式》之第2章 模板方法模式

【代码】《C++新经典设计模式》之第2章 模板方法模式。

2023-12-12 15:13:23 284

原创 《C++新经典设计模式》之第3章 工厂模式、原型模式、建造者模式

工厂模式、原型模式、建造者模式

2023-12-12 15:12:55 544

原创 《C++新经典设计模式》之第4章 策略模式

【代码】《C++新经典设计模式》之第4章 策略模式。

2023-12-12 13:48:32 315

原创 《C++新经典设计模式》之第5章 观察者模式

【代码】《C++新经典设计模式》之第5章 观察者模式。

2023-12-12 09:50:24 471

原创 《C++新经典设计模式》之第6章 装饰器模式

【代码】《C++新经典设计模式》之第6章 装饰器模式。

2023-12-12 09:30:06 185

原创 《C++新经典设计模式》之第7章 单例模式

【代码】《C++新经典设计模式》之第7章 单例模式。

2023-12-12 09:18:14 440

原创 《C++新经典设计模式》之第8章 外观模式

【代码】《C++新经典设计模式》之第8章 外观模式。

2023-12-11 15:00:11 372

原创 《C++新经典设计模式》之第9章 命令模式

【代码】《C++新经典设计模式》之第9章 命令模式。

2023-12-11 14:48:30 386

原创 《C++新经典设计模式》之第10章 迭代器模式

【代码】《C++新经典设计模式》之第10章 迭代器模式。

2023-12-11 14:33:34 210

原创 《C++新经典设计模式》之第11章 组合模式

【代码】《C++新经典设计模式》之第11章 组合模式。

2023-12-11 14:12:57 308

原创 《C++新经典设计模式》之第12章 状态模式

【代码】《C++新经典设计模式》之第12章 状态模式。

2023-12-11 09:54:14 626

原创 《C++新经典设计模式》之第13章 亨元模式

【代码】《C++新经典设计模式》之第13章 亨元模式。

2023-12-11 09:38:40 237

原创 《C++新经典设计模式》之第14章 代理模式

【代码】《C++新经典设计模式》之第14章 代理模式。

2023-12-10 21:43:52 228

原创 《C++新经典设计模式》之第15章 适配器模式

【代码】《C++新经典设计模式》之第15章 适配器模式。

2023-12-10 21:25:16 267

原创 《C++新经典设计模式》之第16章 桥接模式

【代码】《C++新经典设计模式》之第16章 桥接模式。

2023-12-10 21:10:45 237

原创 《C++新经典设计模式》之第17章 中介者模式

【代码】《C++新经典设计模式》之第17章 中介者模式。

2023-12-10 20:57:05 271

原创 《C++新经典设计模式》之第18章 备忘录模式

【代码】《C++新经典设计模式》之第18章 备忘录模式。

2023-12-09 21:46:05 220

原创 《C++新经典设计模式》之第19章 职责链模式

《C++新经典设计模式》之第19章 职责链模式。

2023-12-08 22:06:57 161

原创 《C++新经典设计模式》之第20章 访问者模式

【代码】《C++新经典设计模式》之第20章 访问者模式。

2023-12-08 21:17:38 316

原创 《C++新经典设计模式》之第21章 解释器模式

【代码】《C++新经典设计模式》之第21章 解释器模式。

2023-12-08 17:16:35 239

谭浩强 c 课后习题

大学c语言课程(谭浩强主编)课后习题答案和书中源程序代码

2014-10-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除