![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 86
bqxdrs012
这个作者很懒,什么都没留下…
展开
-
C++笔记(3)
1.C/C++编译器默认的类型转换: //1.unsigned int a=1;int b=-1;//int b——>unsigned int b=一个很大的数char c=a>b?'a':'b';printf("%c\n",c);//打印出'b'//2.unsigned short a=1;//——>int a=1;int b=-1;char c=a>...原创 2018-04-14 23:02:28 · 449 阅读 · 0 评论 -
C++笔记(1)
2018.03.301.可执行文件运行时进程在虚拟内存上的布局: .data段:存放全局变量初始化且不为0的变量/指针变量 .bss段:存放全局变量初始化为0或者是未初始化的变量/指针变量2.编译,链接和运行的过程: 《深入理解计算机系统》ch7 3.IA32体系虚拟地址映射的运行过程: 《Lin原创 2018-03-31 21:40:14 · 147 阅读 · 0 评论 -
C++笔记(2)
2018.04.011.函数调用堆栈的过程: 2.函数的返回值怎么带出来? (1)字节数4)&&(8字节,产生临时量 临时量:临时量在函数调用之前产生,调用之前为临时量分配一块地址;在进行压栈时,给一个存放临时量的地址信息的段,从而通过此地址找到临时量;一层一层的进行循环拷贝赋值。3.参数带默认值的函数:(1)int sum(int a,int b原创 2018-04-03 00:38:55 · 142 阅读 · 0 评论 -
C++笔记(5)
1.构造函数和析构函数:构造函数和析构函数的名字必须和类名一样,不能随便起,析构函数的名字前加上~。 如class MyTest{MyTest();//构造函数 ~M有Test();//析构函数}构造函数和析构函数没有返回值。析构函数不能带参数,因此析构函数有且仅有一个;但是构造函数可以任意带参数,所以构造函数是可以重载的。原创 2018-04-22 13:33:39 · 346 阅读 · 0 评论 -
C++笔记(4)
1.通过引用的一些了解,得到以下结论: 结论一: 引用必须初始化;初始化的值一定是能取地址的。int main(int argc,char *argv[]){ int &b=a;//&必须和变量名连接,此处是引用初始化 int *&p2=(int *)0x100;// xx 指针的引用,0x100是常量,不能取地址} 结论二: 普通的引用变量原创 2018-04-20 11:29:41 · 179 阅读 · 0 评论 -
C++笔记(6)
1.相关数据结构成员方法的调用class Stack{public: Stack() { cout << this << endl; cout << "Stack()" << endl; mpstack = new int[10]; mtop = ...原创 2018-05-07 01:39:21 · 175 阅读 · 0 评论 -
浅拷贝和深拷贝具体详解
当用一个已经初始化了的自定义类类型对象去初始化另一个新构造的对象的时候,拷贝构造函数就会被自动调用,也就是说,当类的对象需要拷贝时,拷贝构造函数将会被调用。以下情况都会调用拷贝构造函数:(1)一个对象以值传递的方式传入函数体(2)一个对象以值传递的方式从函数返回(3)一个对象需要通过另一个对象进行初始化浅拷贝和深拷贝的概念: 浅拷贝:如果在类中没有显示的声明一个拷贝构造函数,那么,编译...原创 2018-04-29 22:38:54 · 184 阅读 · 0 评论