摘要: static_cast<>() 用于任何隐式转换,非const到const的转换,void*到特点类型指针的转换,还可用于继承关系中子类到基类的转换。 const_cast<>() 将const变量转换为非const变量 dynamic_cast<>() 用于继承关系的对象的指针和引用的转换。 可实 阅读全文
posted @ 2022-02-09 21:04 Dylan_Liang 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 一. 修饰全局变量 全局变量加上static就成了静态全局变量。 存储位置:在程序的静态/全局区 生命周期:整个软件运行周期。 作用域:只在该文件中全局可见。 初始化:没有专门初始化的变量,默认为0。 二. 修饰局部变量 只有作用域与静态全局变量不同,作用在局部。但是随着函数的结束并不销毁,当函数再 阅读全文
posted @ 2022-02-09 20:36 Dylan_Liang 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 设计模式的几大原则: 1. 单一职责 “高内聚,低耦合”,设计类时尽量缩小粒度,功能明确单一,不设计大而全的类 2. 开闭原则: 一个软件实体在未来的修改维护过程中,在扩展性方面是开放的,在修改性方面是闭合的。 如果要扩展功能,不需要修改原有的代码。 如果要修改现有具体的实现逻辑,不需要新增代码,只 阅读全文
posted @ 2022-01-05 08:33 Dylan_Liang 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 参数入栈顺序: 两者都是从右到左。 参数出栈区域: _stdcall是在函数内部清理释放栈。更好的封装性。 _cdecl是在调用函数的地方释放,所有每个调用的地方都有一块弹出栈空间的代码,编译出来的程序较大。 名称修饰: 除了与_stdcall, _cdecl有关,还与是否用C或C++导出有关 1. 阅读全文
posted @ 2021-12-27 17:41 Dylan_Liang 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 内存对齐 为什么要对齐: 1)平台移植性: 某些平台读取内存是以2kb,4kb为单位的。有些平台不支持任意地址的访问。 2)高效性,数据结构,应该尽可能在自然边界上对齐,未对齐访问会多几次访问。 主要跟硬件设计有关。 内存对齐的规则: struct node{ char a; int b; shor 阅读全文
posted @ 2021-05-25 20:14 Dylan_Liang 阅读(774) 评论(0) 推荐(0) 编辑
摘要: 概念: windows中程序的窗口和系统调用的实现模式都是通过一种消息机制来完成的。 窗口调用系统接口,系统发送消息给窗口,窗口轮询消息并处理。 SendMessage阻塞的,需要等待消息处理函数结束才返回。 PostMessage非阻塞的,只是将消息放入消息队列即返回。 Windows窗口程序的实 阅读全文
posted @ 2021-05-24 17:22 Dylan_Liang 阅读(536) 评论(0) 推荐(0) 编辑
摘要: 线程的概念 线程的组成: 栈区和栈区指针 程序计数器:PC 寄存器集合 线程的状态: 新建状态(New):刚被创建 准备状态(Runnable):加载所需的所有资源,等待CPU 运行状态(Running):被CPU执行 挂起状态(Blocked):阻塞,等待唤醒 退出状态: 线程和进程的区别: 1. 阅读全文
posted @ 2021-05-10 15:55 Dylan_Liang 阅读(860) 评论(0) 推荐(0) 编辑
摘要: 异常机制简介: 语法: try{ throw exp; } catch (Exp exp){ ... } 1. 在需要抛出异常的代码段外用try包裹住。 2. 在try内部,需要抛出异常的地方调用 ‘throw + 表达式’,程序不再执行throw后面的代码,直接跳转到catch处,与catch处进 阅读全文
posted @ 2021-05-10 10:40 Dylan_Liang 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 1. ‘sizeof’ 的实质 sizeof可以接受变量和数据类型,并以字节为单位返回该类型所占内存的大小。 使用方式:1. sizeof(数据类型或变量) 2. sizeof 变量 sizeof不是一个函数(一般函数无法接受数据类型作为参数;函数只能通过括号传递参数,而sizeof可以通过空格加参 阅读全文
posted @ 2021-05-07 11:51 Dylan_Liang 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 问题: 求n以内所有素数,一般的做法是: 1. 遍历2-n之间所有的数i 2. 每个数i再遍历所有小于它的数看是否能被小于它的某个数整除,如果可以者该数i有可以被整除的数则是和数,没有则是素数。 两层for循环,时间复杂度高。 解法一:素数筛 思想:用素数去标记合数,例如,已知最小的素数是2,那么2 阅读全文
posted @ 2021-05-07 11:11 Dylan_Liang 阅读(286) 评论(0) 推荐(0) 编辑