![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
IT_LEAF
这个作者很懒,什么都没留下…
展开
-
复制构造函数细解
定义:复制构造函数用于将一个对象复制到一个新创建的对象中, 也就是说他用于初始化过程,而不是常规的赋值过程(常使用赋值操作符) 原型: Class_name (const Class_name & ); *传入函数的是指向类对象的引用常量 功能: 逐个复制非静态成员复制的是成员的值,指针的话就直接复制指针的值(新旧对象共享同一个指针指向的值,这常常会引起问题,使用原创 2012-01-07 22:09:34 · 391 阅读 · 0 评论 -
操作系统在hello world里面做了什么
#include int main(int argc, char *argv[]) { puts("hello world"); return 0; } 用户通过操作接口向操作系统提交执行hello程序申请; 操作系统找到该程序,检查其类型; 检查程序首部,找出正文和数据的地址; 文件系统找到hel原创 2012-01-13 17:25:07 · 821 阅读 · 0 评论 -
C++内存分区简介
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个原创 2011-12-30 10:02:38 · 687 阅读 · 0 评论 -
C++静态成员简析
在c++类中声明成员时可以加上static关键字,这样声明的成员就叫做静态成员 首先测试一下静态成员是否占用对象内存的问题 #include using namespace std; class base { private: int a; static const in原创 2011-12-30 23:33:52 · 373 阅读 · 0 评论 -
常量指针和指针常量(const)
const定义指针根据出现位置的不同可以定三种指针 const T *p/T const *p //指向常量的指针,也就是常量指针,无法通过本指针修改指向的值,但是所指向的值不一定是常量 T *const p //指针常量,经过初始化之后,指针无法改变,但是能修改其指向的值,典型的情况就是数组名 const T *const p //指向常量的指针常原创 2012-01-01 23:12:21 · 316 阅读 · 0 评论 -
浅谈C++联编机制
静态联编 静态联编是指联编工作出现在编译连接阶段,这种联编又称早期联编,它解决了程序中的操作调用与执行该操作代码间的关系。 动态联编 编译程序在编译阶段并不能确切知道将要调用的函数,只有在程序执行时才能确定将要调用的函数,为此要确切知道该调用的函数,要求联编工作要在程序运行时进行,这种在程序运行时进行联编工作被称为动态联编。 为什么会有两种联编? 动态联编的功能明显比原创 2012-01-03 23:43:50 · 659 阅读 · 0 评论 -
成员函数的覆盖和隐藏行为差异
在C++中函数有三种行为重载,覆盖,隐藏。 其中覆盖和隐藏在类的继承中常常出现,要对其有足够深入的了解。 如果重新定义的是基类的虚函数 1,继承类定义的函数名相同,且特征表都相同的成员函数,这是就是覆盖,也是实现多态的基本机制 2,继承类定义的函数名相同,特征标不同的成员函数,这属于重载 如果重新定义的不是基类的虚函数 只要函数名相同的话,继承类的函数会直接隐藏掉基原创 2012-01-01 00:15:55 · 538 阅读 · 0 评论