摘要: class A{ private: int a; //变量,属于对象任何地方初始化即可 const int b = 0; //常量,属于对象,声明的时候初始化、在构造函数初始化列表初始化,最后取初始化列表的值 static int c; //静态变量,属于类,需要在类外声明一次,初始值可给可不给 static const int d; //非浮点静态常量,属于类,static和const位置都可以 阅读全文
posted @ 2019-09-20 17:19 朱小勇 阅读(1471) 评论(0) 推荐(1) 编辑
摘要: 1、栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区,里面的变量通常是局部变量、函数参数等。 2、堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动 阅读全文
posted @ 2019-09-20 16:05 朱小勇 阅读(4591) 评论(0) 推荐(0) 编辑
摘要: 1、对象分布图 2、解析 每个类的大小只有其成员变量大小,其中包括:类成员属性,虚函数指针; 而其他没有如:静态变量【静态区】,普通函数、静态函数【代码区】 3、总结 类对象的sizeof只包含成员变量的大小,不包含函数的大小【就跟结构体一样】,因为函数被放在了代码区,类对象调用代码的时候会把对象的 阅读全文
posted @ 2019-09-20 11:55 朱小勇 阅读(690) 评论(0) 推荐(0) 编辑
摘要: 优点: 1.inline 定义的类的内联函数,函数的代码被放入符号表中,在使用时直接进行替换,(像宏一样展开),没有了调用的开销,效率也很高。 2.很明显,类的内联函数也是一个真正的函数,编译器在调用一个内联函数时,会首先检查它的参数的类型,保证调用正确。然后进行一系列的相关检查,就像对待任何一个真 阅读全文
posted @ 2019-09-20 11:27 朱小勇 阅读(785) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-09-20 10:52 朱小勇 阅读(916) 评论(0) 推荐(0) 编辑