
C/C++
gswjj1
这个作者很懒,什么都没留下…
展开
-
C++中static关键字的使用
一.类定义中的static成员 类中定义的static成员是独立于类对象的全局成员,static数据成员和函数成员在main()函数运行之前,在任意一个该类对象定义以前已经初始化,所以它们是全局的,属于类的属性(参见java OO思想)。但是类中的static成员与普通的全局函数相比,带有一个类的安全限制。 对于类中的static成员,必须要在该类实现的cc文件的全局域上定义,原创 2013-03-24 22:59:31 · 452 阅读 · 0 评论 -
C++继承基类与子类中的同名变量与同名函数
在C++中,允许基类和子类中含有同名的成员变量或成员函数(包括虚函数和非虚函数),因此在使用时,将会有判断当前作用域有效变量名的问题。 一、基类作用域 在基类作用域(即基类成员函数域)中,所有使用的同名变量和同名函数均为基类中定义的同名成员,而与子类中的同名成员无任何关系。但有一种情况例外,即虚函数。当在基类成员函数中调用虚函数时,不一定必然调用基类中的虚函数,原创 2013-07-04 00:49:32 · 5120 阅读 · 0 评论 -
C++中实现单例模式
转载:http://www.cppblog.com/cxiaojia/archive/2011/12/21/162531.aspx单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例单例模式。单例模式只应在有真正的“单一实例”的需求时才可使用。#includeusing namespace std;class Singleton{public: sta转载 2013-08-05 16:05:10 · 443 阅读 · 0 评论 -
fprintf、printf、sprintf、fscanf、scanf、sscanf详细分析
转载出处:http://blog.youkuaiyun.com/lmh12506/article/details/6631630 格式化输入输出1. fprintf(格式化输出数据至文件)相关函数 printf,fscanf,vfprintf表头文件 #include定义函数 int fprintf(FILE * stream, const c转载 2013-08-05 11:35:48 · 642 阅读 · 0 评论 -
C++中的string类的用法总结
转载出处:http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html要想使用标准C++中string类,必须要包含#include // 注意是,不是,带.h的是C语言中的头文件string类的构造函数:string(const char *s); //用c字符串s初始化string(int转载 2013-08-23 22:58:41 · 406 阅读 · 0 评论 -
C中的常量后缀表示意义与内置变量范围
C语言中整型常量缺省精度为int,有三种不同的表示形式: 1、八进制整型常量:在八进制数值前面加前缀“0”,其数码取值为0~7。例如:054、0567、05421。 2、十六进制整型常量:前缀为“0X”或“0x“,其数码取值为0~9、A~F 或 a~f。例如:0X3D、0XE0、0xfff等。 3、十进制整型常量:既无前缀也无后缀。例如:254、74转载 2013-03-24 22:49:52 · 1079 阅读 · 0 评论 -
C++中的iostream格式控制
boolalpha讓bool輸出時顯示true與falsedec10進位顯示 endl 輸出new line字元ends輸出Null字元fixed以正常的數字格式顯示flush清除串流 hex16進位顯示left靠左對齊oct8進位顯示right转载 2013-09-04 13:21:55 · 887 阅读 · 0 评论 -
test
testestsetestestestrestdstes url:点击打开链接 url:https://img.alicdn.com/bao/uploaded/i4/196993935/TB2gcecFNWYBuNjy1zkXXXGGpXa-196993935.jpg转载 2016-06-02 18:17:52 · 339 阅读 · 0 评论 -
C++中的extern关键字
对于在A.cc文件全局域中定义的全局变量,虽然他是一个全程序可访问的全局变量,但是要想在B.cc文件中访问该变量,则需要在B.cc中声明该变量之后才可访问,或者在一个头文件中声明该变量后再包含该头文件(其本质还是在cc中声明),这是由于编译的时候是按cc文件为单位进行单独编译的,若不声明,编译器将不知道从哪里去寻找该全局变量,故先extern声明要在其它obj模块中找该变量,然后在link时有li原创 2013-03-24 23:04:53 · 395 阅读 · 0 评论 -
在头文件中定义或声明变量
1.在头文件中定义const类型的非static变量,在link时不会报错,这是因为const型的变量在complie时已经转换为常量,每个obj模块里有一个相同内容的常量,并不会有变量名冲突发生。2.在头文件定义非const类型时,link时报错,这是因为这样相当于在每个包含该头文件的cc文件的全局域定义了一个名字相同的全局变量,虽然在complie时由于分开编译,不会产生错误,但是在lin转载 2013-03-24 23:05:55 · 1120 阅读 · 0 评论 -
字符串的内存存储位置
char gstrA[] = "this Str is stored at global Store Erea"; //存放于静态数据区int main(int argc, char **argv){ char a[] = "this Str is stored in Stack"; // 存放于栈 *a = 'a'; char *b = "this str is stored in原创 2013-04-16 22:55:43 · 633 阅读 · 0 评论 -
C++类型转换(Type Casting)
转载出处:罗朝辉 (http://blog.youkuaiyun.com/kesalin)一,隐式类型转换隐式类型转换是C中的遗留物,在C++中并不推荐使用(C++有专门的转型操作符,见下文的显式转型)。将某种类型的对象拷贝到另一种不同类型的对象中时就会发生隐式转型。比如异型赋值,返回值(函数声明的返回值与代码块实际返回值不同的情况下),按值传递异型参数等情况均会发生隐式类型转换。转载 2013-04-17 13:06:11 · 496 阅读 · 0 评论 -
函数的声明问题
函数声明也存在作用域的问题: 当声明位于全局域时,对全局域内所有函数此声明均可见。 当声明位于局部域内时,该声明仅仅对该局部域有效,即只在该函数内部声明有效,在其它函数域内仍看不到该声明。 声明的总原则是:声明必须在调用之前。转载 2013-02-03 11:36:13 · 246 阅读 · 0 评论 -
基类与派生类对象和指针赋值的小结
基类指针和派生类指针指向基类对象和派生类对象的4中方法:1. 基类指针指向基类对象,只需要通过基类指针简单地调用基类的功能。2. 派生类指针指向派生类对象,只需要通过派生类指针简单地调用派生类功能。3. 基类指针指向派生类对象,安全,实现多态的语言基础。 但是要注意的是,这个指针只能用来调用基类的成员函数,如果试图通过基类指针调用派生类才有的成员原创 2013-07-04 00:05:46 · 1059 阅读 · 0 评论 -
C++中对象的内存布局
参考文章:http://www.cnblogs.com/itZhy/archive/2012/10/08/2713367.html一、不包含继承、虚函数、虚继承、多重继承的类 此种简单class的对象内存分布由《C++中struct/class的数据对齐与sizeof》一文阐述,此处不再赘述。二、单一继承、不含虚函数的类(非虚继承) 此类中,将把基类原创 2013-07-03 00:36:48 · 716 阅读 · 0 评论 -
C++ 虚函数表解析
转载:http://blog.youkuaiyun.com/haoel/article/details/1948051前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板转载 2013-06-27 23:31:22 · 403 阅读 · 0 评论 -
C++中的const关键字
一.const关键字的意义 限制某个变量只能读而不能写,从而提高程序的健壮性。二.使用const关键字修饰普通数据类型 通过const关键字修饰的非引用非指针类型变量,必须在定义时对其进行初始化,且初始化之后在其生命周期中值将无法改变,初始化时可以使用所有满足该类型初始化语法的表达式实现,包括同类型的const变量。 const变量与非const变量不同,con原创 2013-06-27 23:09:35 · 438 阅读 · 0 评论 -
C++中struct/class的数据对齐与sizeof
一、什么是对齐,以及为什么要对齐1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。2. 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某转载 2013-03-29 20:16:12 · 878 阅读 · 0 评论 -
指针问题
一. 指针包含内容 要搞清一个指针需要搞清指针的四方面的内容: 指针的类型, 指针所指向的类型, 指针的值或者叫指针所指向的内存区, 指针本身所占据的内存区。转载 2013-02-03 14:11:50 · 308 阅读 · 0 评论 -
关于sizeof用法的补充
1.sizeof基础变量时,具体结果参见下方代码结果;2.sizeof非字符串数组时,结果为数组所占总的字节大小;3.sizeof字符串数组时,由数组和由指针初始化所得的结果不同,数组初始化所得结果为该数组所占总字节大小,指针初始化所得结果为4(指针本身所占内存长度),与《C专家编程》中描述一致;4.sizeof指针时,所有指针结果均为4;5.sizeof指针所指内容时,为该指针数原创 2013-03-29 21:24:28 · 572 阅读 · 0 评论