- 博客(9)
- 资源 (1)
- 收藏
- 关注
转载 c++虚析构函数
虚析构函数析构函数的工作方式是:最底层的派生类(most derived class)的析构函数最先被调用,然后调用每一个基类的析构函数。因为在C++中,当一个派生类对象通过使用一个基类指针删除,而这个基类有一个非虚的析构函数,则结果是未定义的。运行时比较有代表性的后果是对象的派生部分不会被销毁。然而,基类部分很可能已被销毁,这就导致了一个古怪的“部分析构”对象,这是一个泄漏资源。排除
2016-05-24 20:42:26
122
转载 指针和引用的区别
指针和引用的定义和性质区别:(1)指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。如:int a=1;int *p=&a;int a=1;int &b=a;上面定义了一个整形变量和一个指针变量p,该指针变量指向a的存储单元,即p的值是a存储单元的地址。而下面2句
2016-05-24 13:36:06
302
原创 c++字符串表示
char*p,表示p是指向字符串的指针char arr[],表示arr是一个字符串数组string s,表示s是一个string类的对象,有自己的成员变量和成员函数,和前两者的区别较大
2016-05-24 13:32:15
373
转载 C/C++中的变量存储类别以及内存分配
本文也是总结了网上一些大神们的博客(写得太牛逼了),然后结合自己看书的一些内容。参考: http://hi.baidu.com/lcplj123/item/e984cd0f921e39c12e4c6baa http://www.eefocus.com/zhangjingbin/blog/10-05/190629_014
2016-05-09 16:47:25
515
转载 c++函数模板
1.函数模板的声明和模板函数的生成1.1函数模板的声明函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函数的函数体重复设计。它的最大特点是把函数使用的数据类型作为参数。函数模板的声明形式为:template(参数表){ 函数体}其中,template是定义模板函数的关键字;template后面的尖括号不能省略;typename(或clas
2016-05-09 16:43:05
297
原创 c++输出浮点数
setprecision(int) 控制输出流显示浮点数的数字个数,setprecision(n)就是输出的n个数,会有四舍五入。如果与setiosflags(ios::scientific)合用, 可以控制指数表示法的小数位数。setiosflags(ios::scientific)是用指数方式表示实数。fixed 固定精度比如 cout会输出1.0000如果单单
2016-03-08 19:19:42
1675
原创 c++头文件:stdio.h ,cstdio ,iostream ,bits/stdc++.h
关于c++头文件 看到计蒜课里c++课程里用了这些头文件,并不懂什么意思,于是百度得出结果= - = 首先,stdio.h是c语言主要的一个头文件,是指 “standard input & output"(标准输入输出)。而到了c++里,常用iostream(输入输出流), 【#include是标准的C++头文件,任何符合标准的C++开发环境都有这个头文件。
2016-02-29 16:38:21
17241
2
转载 关于eof和scanf返回值
EOF不是一个字符或者数字什么的,而是scanf()函数的一个返回值。所以scanf("%c",&c);再判断(c==EOF)的做法是无效的,因为scanf()根本不会把EOF当作一个字符写进c;正确的判断条件应该写作以下形式(scanf("%c",&c)==EOF)可以看出EOF就是scanf()的返回值下面提供用getchar()和scanf()写的两种版本的代码1.
2016-02-29 15:52:25
3705
转载 c++中换行\n和endl的区别
1. 在c++中,终端输出换行时,用cout 但一般情况,二者的这点区别是很小的,在大的程序中可能会用到。建议用endl来换行. 2.endl除了写'\n'进外,还调用flush函数,刷新缓冲区,把缓冲区里的数据写入文件或屏幕.考虑效率就用'\n'. 3. cout cout 在没有必要刷新输
2016-02-22 19:35:44
986
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人