![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
cqy300
这个作者很懒,什么都没留下…
展开
-
ofstream文件输出流把二进制数据写入文件
1、添加头文件 [cpp] view plain copy print? #include using namespace std; #include using namespace std; 2、执行文件打开写入关闭操作 [cpp] view plain copy print? /转载 2016-08-26 10:42:33 · 2249 阅读 · 0 评论 -
线程同步的几种方式
---------------------用户模式下的同步对象---------------------- ----------1、 临界区(CCriticalSection)------------------- 当多个线程访问一个独占性共享资源时,可以使用临界区对象。拥有临界区的线程可以访问被保护起来的资源或代码段,其他线程若想访问,则被挂起,直到拥有临界区的线程放弃临界区为止。原创 2017-02-17 17:47:15 · 8047 阅读 · 0 评论 -
拷贝构造函数
浅拷贝和深拷贝的区别: 在有指针的情况下,浅拷贝只是增加了一个指针指向已经存在的内存,而深拷贝就是增加一个指针并且申请一个新的内存,使这个增加的指针指向这个新的内存,采用深拷贝的情况下,释放内存的时候就不会出现在浅拷贝时重复释放同一内存的错误!!! 拷贝构造函数是一种特殊的构造函数,函数的名称必须和类的名称一致,它必须的一个参数是本类型的一个引用变量。原创 2017-02-17 17:46:49 · 215 阅读 · 0 评论 -
程序的内存分配
一个C/C++编译的程序占用的内存分为: 1)栈区(stack),由编译器自动分配和释放,存放函数的参数值,局部变量的值等,其操作方式类似于数据结构中的栈; 2)堆区(heap),一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式类似于链表; 3)全局区(静态区)(static),全局变量和静态变量存放在一块,初始化全局变量和静态转载 2017-02-17 17:46:28 · 294 阅读 · 0 评论 -
windows消息机制
1、Windows 是事件驱动的,事件驱动围绕着消息的产生于处理展开,事件驱动靠消息循环机制实现,,也可以理解为消息是一种报告关于事件发生的通知; 2、MFC 是一个广为使用的编程类库,对Windows 的消息机制进行 了良好的封装。 3、消息(Message)指的就是Windows 操作系统发给应用程序的一个通告[5],它告诉应用 程序某个特定的事件发生了(比如单击了鼠标),最终原创 2017-02-17 17:45:42 · 225 阅读 · 0 评论 -
Windos核心编程学习笔记
1、获取错误信息 1)GetLastError(),FormatMessage(); 2)在VS的Watch窗口中使用$err,hr来查找当前线程的“上一个错误代码”; 2、缓冲区溢出,这个是处理字符串时的典型错误; 3、字符串或者字符前面加上字母L,则通知编译器该字符串或者字符应该编译成为一个Unicode的字符串或者字符,比如L"A String",L'A'; 4原创 2017-02-17 17:45:21 · 336 阅读 · 0 评论 -
TCP_IP_SOCKET简介
---- http://goodcandle.cnblogs.com/archive/2005/12/10/294652.aspx 1、TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。 2、 UDP(User Data Protocol,用原创 2017-02-17 17:45:01 · 219 阅读 · 0 评论 -
ORACLE的SQL
oracle数据库的数据类型有: 1、字符char,固定长度1-2000字节; 2、字符VARCHAR2,可变长度1-4000字节; 3、长字符LONG,可变长度,最大2GB; 4、数字NUMBER[(精度,[小数点位数])]; 5、日期DATE,存储日期和时间部分,精确到秒; 6、日期TIMESTAMP 存储日期、时间和时区,秒值精确到小数点后面6位; 7、二进制BLOB字原创 2017-02-17 17:44:33 · 254 阅读 · 0 评论 -
ORACAL数据库学习
1、oracle数据库创造性的提出了表空间的概念。 2、order by 是根据最终的结果集进行排序的,所以放在group by(先分类)之后。 3、union(两个集合之间不重复的记录,重复的只保存一条,默认按照字母顺序排序); union all(将两个集合的结果进行合并,不会剔除重复的,也不进行排序) intersect(两个集合之间的交集) minus(原创 2017-02-17 17:44:08 · 1449 阅读 · 0 评论 -
C++面向对象的理解
----那23个经典的设计模式和OO半毛钱关系没有,只不过人家用OO来实现罢了。 设计模式就三个准则: 1)中意于组合而不是继承; 2)依赖于接口而不是实现; 3)高内聚,低耦合。 ----面向对象: 1、封装,将我们的程序模块化,对象化,把具体事物的特性属性和通过这些属性来实现一些动作的具体方法放到一个类里面;封装的目标就是要实现软件部件的“高内聚、低耦合”,防止程序相互依赖原创 2017-02-17 17:43:39 · 4695 阅读 · 0 评论 -
C++Primer学习笔记
1、RegOpenKeyEx(......)打开一个指定的注册表键(比如:HKEY_CURRENT_USER),安全性设置为KEY_QUERY_VALUE 2、几乎所有创建内核对象的函数都有一个允许我们指定安全属性信息的参数,相反用于创建用户对象或GDI对象的函数都没有。 3、FormatMessage,可以讲消息ID转换成字符串。 4、,在c语言中,字符是按其所对应的ASCII码来原创 2017-02-17 17:42:55 · 404 阅读 · 0 评论 -
Sqlite3批量写入数据到数据库中
1、创建或者打开数据库 int nResult = sqlite3_open(strDBPath.c_str(),&pDb); if (SQLITE_OK != nResult) { sqlite3_close(pDb); pDb = NULL; AfxMessageBox("创建数据库文件失败!"); return pDb; }2、创建数数据据库表,如果是打开就无需这一原创 2017-02-22 15:02:08 · 7230 阅读 · 1 评论