随笔分类 - C++
摘要:1、堆(heap),动态分配的内存区域,分配之后需手工释放(new, delete, malloc, free) 这种方式需要分配内存,释放内存,因此可能会造成内存泄露,或者内存碎片的问题。 2、栈(stack),函数调用过程中,产生的本地变量和调用的数据区域 分配、释放简单,只需要移动指针即可;后
阅读全文
摘要:https://www.cnblogs.com/lanxuezaipiao/p/4132096.html https://www.cnblogs.com/wxquare/p/4759020.html https://blog.csdn.net/leichaowen/article/details/5
阅读全文
摘要:https://blog.csdn.net/shawjan/article/details/45424405
阅读全文
摘要:参考:http://blog.csdn.net/u010797208/article/details/40452797 亲测可行
阅读全文
摘要:1、首先是_finddata结构体,用于存储文件信息的结构体。 2、_findfirst函数:long _findfirst(const char *, struct _finddata_t *); 第一个参数为文件名,第二个参数为_finddata结构体指针,若成功,则返回文件的句柄。 3、_fi
阅读全文
摘要:1、今天笔试C++遇到的几道题,感觉还是有些难度的 答案是4 1101 15005 2 前两个比较好理解。对于第三个,p2-1相当于跳了一个一维数组(元素为随机值),再加18个元素就加到了15000位。 对于第四个,sizeof(p1)为4,首位元素再加1位。 2、进程和线程 进程是系统分配资源的最
阅读全文
摘要:分为顺序容器和关联容器。 顺序容器包括 1、vector 内部数据结构:数组,可随机访问元素,在末尾增加或删除元素与元素数目无关,在其 他部分增加或删除元素随着元素数目呈线性变化。可通过reserve提前分配足够的内存。 2、deque 双端队列,按页/块来分配存储,每页/块包含固定的数目的元素。支
阅读全文
摘要:今天笔试遇到的一题,当时就写了在函数前声明为C,按C编译。 首先是在C中调用C++函数,包括普通函数,重载函数以及成员函数。 对于普通函数,在C++中声明为extern "C",在C中调用。 但对于成员函数和重载函数,则需要一个简单的包装。 具体可参考:http://www.cppblog.com/
阅读全文
摘要:参考:http://blog.csdn.net/haoel/article/details/1948051 虚函数表是一个类的虚函数地址表,在虚函数类的实例中,这个表被分配到了实例的内存中。 C++编译器保证虚函数表的指针位于对象实例中最前面的位置,因此可以通过对象实例的地址 得到这张虚函数表,然后
阅读全文
摘要:参考:http://blog.sina.com.cn/s/blog_79b01f6601018xdg.html (1) 编译器处理方式不同 define宏是在预处理阶段展开。 const常量是编译运行阶段使用。 (2) 类型和安全检查不同 define宏没有类型,不做任何类型检查,仅仅是展开。 co
阅读全文
摘要:1、隐藏:编译多个文件时,所有未加static的全局变量、全局函数都具有全局可见性。 如果加了static,就会对其他源文件隐藏,利用这一特性可以在不同文件中定义相同的 变量名或函数名,而不用担心冲突(可通过include相关文件引用static变量)。 2、记忆功能和全局生存期: 静态变量和全局变
阅读全文
摘要:参考:http://www.cnblogs.com/daocaoren/archive/2011/06/29/2092957.html http://www.cnblogs.com/skydesign/archive/2011/09/20/2182362.html 今天笔试遇到的一道题,我当时写的n
阅读全文
摘要:今天笔试的一道题,好久没用union了,竟然忘光光了。 关于其大小的计算,分两步:先算对齐大小(成员中字节最大的那个),再算分配空间: 不仅是对齐大小的整数倍,还要满足实际大小不能小于最大成员大小。 参考:http://blog.csdn.net/talentluke/article/details
阅读全文
摘要:今天搜狗笔试的一道选择题,原题给忘了,但记得所考的知识点。知识点很基础,但很容易忽视。 具体内容可参考C++ Primer。 auto :变量取auto后,其所对应的类型 auto一般会忽视顶层const,保留底层const。但如果将引用类型设为const,则会保留相应的顶层const。下面是C++
阅读全文
摘要:转自:http://blog.csdn.net/helonsy/article/details/7091130 explicit:放在构造函数前面可以阻止构造函数的隐式类型转换。这样可以避免不必要的错误。 violate:告诉编译器不要去假定这个变量的值,因为它随时可能会改变。这是为了阻止某些编译
阅读全文
摘要:先说宏和函数的区别: 1. 宏做的是简单的字符串替换(注意是字符串的替换,不是其他类型参数的替换),而函数的参数的传递,参数是有数据类型的,可以是各种各样的类型. 2. 宏的参数替换是不经计算而直接处理的,而函数调用是将实参的值传递给形参,既然说是值,自然是计算得来的. 3. 宏在编译之前进行,即先
阅读全文
摘要:参考:http://blog.csdn.net/hxz_qlh/article/details/14475573 修饰成员变量,在const成员函数中可修改它,在C++中还从未用过这个关键字。
阅读全文
摘要:参考:http://blog.csdn.net/hxz_qlh/article/details/14633361 需要注意的是虚继承、多重继承时类的大小。
阅读全文
摘要:http://blog.csdn.net/hxz_qlh/article/details/16864567 这里面列举的题考察的东西都非常细,包括strcpy,字符串,大、小端的判断,很容易犯错,值得一看!
阅读全文
摘要:多看看就背住了: 32位编译器:32位系统下指针占用4字节 char :1个字节 char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器) short int : 2个字节 int: 4个字节 unsigned int : 4个字节 fl
阅读全文