随笔分类 -  C/C++

摘要:一、虚函数 只有用virtual声明类的成员函数,使之成为虚函数,不能将类外的普通函数声明为虚函数。因为虚函数的作用是允许在派生类中对基类的虚函数重新定义。所以虚函数只能用于类的继承层次结构中。      一个成员函数被声明为虚函数后,在同一类族中的类就不能再定义一个非virtual的但与该虚函数具 阅读全文
posted @ 2016-03-13 14:34 小金乌会发光-Z&M 阅读(3521) 评论(0) 推荐(0) 编辑
摘要:C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:TYPE b = (TYPE)a,但是c 风格的类型转换有不少的缺点,有的时候用c风格的转换是不合适的,因为它可以在任意类型之间转换,比如你可以把一个指向const对象的指针转换成指向非 const对象的指针,把一个指向基类 阅读全文
posted @ 2016-03-07 16:47 小金乌会发光-Z&M 阅读(19824) 评论(0) 推荐(3) 编辑
摘要:1、为开发好的项目文件瘦身 如:在项目文件ScreenCapture中,只需保留框起来的两个文件即可 而且在框起来的ScreenCapture里的Debug文件也可以删掉,整个文件由75.4 MB变为33.1 KB。 2、vs2013开发环境IDE介绍 ps:资源视图一般在开发MFC Windows 阅读全文
posted @ 2016-01-09 22:47 小金乌会发光-Z&M 阅读(277) 评论(0) 推荐(0) 编辑
摘要:《深入应用C++11:代码优化与工程级应用》第2章使用C++11改进程序性能,本章将分别介绍右值引用相关的新特性。本节为大家介绍emplace_back减少内存拷贝和移动。 2.4 emplace_back减少内存拷贝和移动 emplace_back能就地通过参数构造对象,不需要拷贝或者移动内存,相 阅读全文
posted @ 2016-01-08 14:44 小金乌会发光-Z&M 阅读(11867) 评论(0) 推荐(1) 编辑
摘要:在一个大的软件工程里面,可能会有多个文件同时包含一个头文件,当这些文件编译链接成一个可执行文件时,就会出现大量重定义的错误。在头文件中实用#ifndef #define #endif能避免头文件的重定义。方法:例如要编写头文件test.h在头文件开头写上两行:#ifndef _TEST_H#defi... 阅读全文
posted @ 2015-12-06 22:30 小金乌会发光-Z&M 阅读(1102) 评论(0) 推荐(0) 编辑
摘要:1.成员函数和非成员函数最大的区别在于成员函数可以是虚拟的而非成员函数不能,成员函数的优势是能够方便地进行动态绑定,实现多态。说明一个函数为一个类的友元函数则该函数可以访问此类的私有数据和方法。2.成员函数:--->显式构造函数C++中的explicit关键字用来修饰类的构造函数,表明该构造函数是显... 阅读全文
posted @ 2015-12-06 22:14 小金乌会发光-Z&M 阅读(4410) 评论(0) 推荐(0) 编辑
摘要:在C&C++中一、inline关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义。表达式形式的宏定义一例:#define ExpressionName(Var1,Var2) ((Var1)+(Var2))*((Var1)-(Var2))取代这种形式的原因如下:1. C中... 阅读全文
posted @ 2015-07-15 20:45 小金乌会发光-Z&M 阅读(687) 评论(1) 推荐(1) 编辑
摘要:set和multiset1,set的含义是集合,它是一个有序的容器,里面的元素都是排序好的,支持插入,删除,查找等操作,就像一个集合一样。所有的操作的都是严格在logn时间之内完成,效率非常高。set和multiset的区别是:set插入的元素不能相同,但是multiset可以相同。创建 multi... 阅读全文
posted @ 2015-07-08 18:52 小金乌会发光-Z&M 阅读(430) 评论(0) 推荐(0) 编辑
摘要:为了使自己的程序有很好的移植性,c++程序员应该尽量使用size_t和size_type而不是int, unsigned1. size_t是全局定义的类型;size_type是STL类中定义的类型属性,用以保存任意string和vector类对象的长度2. string::size_type制类型一... 阅读全文
posted @ 2015-07-08 18:41 小金乌会发光-Z&M 阅读(269) 评论(0) 推荐(0) 编辑
摘要:在《编程之美》一书中有一节提到如何求一个字节的无符号整型变量二进制表示中1的个数,主要提到了四种方法。下面简单介绍一下:1.求余法在将十进制数转换为二进制数时,采用除2取余法。将每次除2得到的余数保存起来逆序输出便是该十进制整数的二进制表示。因此可以采用这种方法去统计1的个数。intcount(un... 阅读全文
posted @ 2015-07-06 12:41 小金乌会发光-Z&M 阅读(235) 评论(0) 推荐(0) 编辑
摘要:相同点:都可用于申请动态内存和释放内存不同点:(1)操作对象有所不同。malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象消亡之前要自动执... 阅读全文
posted @ 2015-06-20 20:21 小金乌会发光-Z&M 阅读(224) 评论(0) 推荐(0) 编辑
摘要:static_cast一般用来将枚举类型转换成整型,或者整型转换成浮点型。也可以用来将指向父类的指针转换成指向子类的指针。做这些转换前,你必须确定要转换的数据确实是目标类型的数据,因为static_cast不做运行时的类型检查以保证转换的安全性。也因此,static_cast不如dynamic_ca... 阅读全文
posted @ 2015-06-20 19:43 小金乌会发光-Z&M 阅读(2294) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示