- 博客(8)
- 收藏
- 关注
原创 C++中的内存管理
C/C++内存布局http://www.cnblogs.com/clover-toeic/p/3754433.html名称存储内容栈局部变量、函数参数、返回地址等堆动态分配的内存BSS段未初始化或初值为0的全局变量和静态局部变量
2016-08-27 20:08:27
466
原创 显式调用构造函数和析构函数
Table of Contents问题1:能不能在构造函数中调用其他构造函数 注意问题2:在类外,能不能显式调用构造函数。问题3:能否显式调用析构函数问题4:为什么能够显式调用析构函数而不能够显式调用构造函数问题5:显式调用后有什么问题placementnew 用处使用placementnew怎么解决析构以及释放内存 问题1:能不能在构造
2016-08-27 19:45:17
720
原创 C++继承与面向对象 Effective C++总结(item 32 - 39)
public继承试图模塑成一种is-a的关系,需要保证设计出的继承关系满足is-a关系。(item32)Avoid hiding inherited names(item 33)派生类的作用域嵌于基类中这意味着,定义于派生类中的同名名字会遮掩继承而来的名字。例子:class Base { private: int
2016-08-22 17:18:28
526
原创 类的继承和访问控制
2016/8/18 16:49 关键概念:类的用户(primer 5th page 545)一个类,我们可以认为有三类用户:普通用户,也就是类的对象,这些对象只能给访问public成员类的实现者,也就是基类的函数(及友元),他们能够访问类的所有部分类的派生类,派生类和普通用户类似,也是类的用户,但是它还能够访问类的protected成员 类的访问说明符 public
2016-08-18 17:29:36
379
原创 函数指针的几个例子
基本12345671. int *f(int, int);2. int (*f)(int,int);3. int (*f(int))(int,int);4. int *(*f)(int,int);5. int *(*f)(int,int)(int);6. int (*p[10])(int *);
2016-08-10 13:07:31
1043
转载 如何定义一个只能在堆上(栈上)生成对象的类
来源: https://www.nowcoder.com/questionTerminal/0a584aa13f804f3ea72b442a065a7618简要描述1、只能在堆上生成对象:将析构函数设置为私有。原因:C++是静态绑定语言,编译器管理栈上对象的生命周期,编译器在为类对象分配栈空间时,会先检查类的析构函数的访问性。若析构函数不可访问,则不能在栈上创建对象。
2016-08-04 15:52:54
1880
原创 C++ static总结
static 关键字下面来自维基的解释:https://zh.wikipedia.org/zh-cn/%E9%9D%99%E6%80%81%E5%8F%98%E9%87%8F 在C语言及由其派生出的C++与Objective-C等程序语言中,“static”是用于控制变量的生命周期和连接方式(即其作用域,亦即可见性)的保留字。确切来说,正如C族语言中的extern,auto与reg
2016-08-04 13:37:31
395
原创 C++ const限定符总结(C++ primer)
C++ const限定符总结(C++ primer)C const限定符总结C primer默认状态下const对象仅在文件内有效const的引用指针和const指向常量的指针const指针顶层constconst和函数const和函数的参数const和函数的返回值const成员函数概念原理Overload时const的作用定义变量时,保持变量值不变。基本命令是:cons
2015-11-11 21:20:00
273
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人