随笔分类 -  C++

摘要:这里有一篇讲的很详细new和malloc的区别 总结一下: 1.new/delete是操作符,malloc/free是函数 2.malloc分配内存需指定大小,且只能是一般数据类型,分配成功返回void*,需要强制类型转换,分配失败返回NULL,需手动检查是否分配成功;new分配内存无需指定大小,可 阅读全文
posted @ 2017-09-01 18:06 Initial_Dream 阅读(263) 评论(0) 推荐(0)
摘要:真正的高手总是精益求精,不会放过任何一个能够优化的机会。 一. 首先是32位和64位系统的类型所占字节数。 除了指针与long随操作系统长变化而变化外,其他的都固定不变(32位和64位相比) 二. 然后就是内存对齐,具体规则是: 1.每个变量按照变量类型的整数倍进行对齐。 2.整个结构体按照结构体中 阅读全文
posted @ 2017-08-31 16:25 Initial_Dream 阅读(481) 评论(0) 推荐(0)
摘要:extern关键词有两个用途: 1. extern "C“ 表示修饰的函数是在C中定义的,告诉编译器编译时按照C的规则来编译。这是由于C++为了实现函数的重载,在编译时会将函数翻译为函数名加参数的形式,例如void foo( int x, int y );会被翻译成类似_foo_int_int的样子 阅读全文
posted @ 2017-08-31 11:49 Initial_Dream 阅读(1276) 评论(0) 推荐(0)
摘要:windows消息和消息队列 与基于MS - DOS的应用程序不同,Windows的应用程序是事件(消息)驱动的。它们不会显式地调用函数(如C运行时库调用)来获取输入,而是等待windows向它们传递输入。 windows系统把应用程序的输入事件传递给各个窗口,每个窗口有一个函数,称为窗口消息处理函 阅读全文
posted @ 2017-04-10 13:12 Initial_Dream 阅读(153) 评论(0) 推荐(0)
摘要:C++与Java中继承与多态是十分重要的特性,但在学习中发现并没有一篇将这两者做比较与总结,所以写下自己观点,本文中有自己的原创,也有引用网上经典的分析与例子,引用部分会说明并贴出链接。不足之处希望大家指正。 首先说一下Java与C++继承的不相同特性,也是最容易让人混淆的三个概念:重载,重写,重定 阅读全文
posted @ 2017-03-10 21:25 Initial_Dream 阅读(815) 评论(0) 推荐(0)