![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
o8413897
这个作者很懒,什么都没留下…
展开
-
如何使用# ## ... _ _VA_ARGS_ _
1.#假如希望在字符串中包含宏参数,ANSI C允许这样作,在类函数宏的替换部分,#符号用作一个预处理运算符,它可以把语言符号转化程字符串。例如,如果x是一个宏参量,那么#x可以把参数名转化成相应的字符串。该过程称为字符串化(stringizing).#incldue #define PSQR(x) printf("the square of" #x "is %d./n",(x)*(x转载 2015-01-22 10:17:50 · 343 阅读 · 0 评论 -
C++四种cast操作符
第1部分. 隐式类型转换又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式中, 最宽的数据类型成为目标转换类型。 int ival = 3;double dval = 3.14159;ival + dval;//ival被提升为double类型2)一种类型表达式赋值给转载 2014-11-28 07:57:52 · 809 阅读 · 0 评论 -
C++中的向上类型转换和向下类型转换
在c++的世界中有这样两个概念,向上类型转换,向下类型转换,分别描述的是子类向基类,和基类向子类的强制类型转换。向上强制类型转换切割:覆盖方法和子类数据丢失的现象生成切割(slice)[cpp] view plaincopyclass Base { public: int b; virtual void转载 2014-12-11 07:21:14 · 349 阅读 · 0 评论 -
C++中的隐藏、重载、覆盖(重写)
1 重载与覆盖 成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual关键字可有可无。 覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual关键字。转载 2014-12-11 14:34:21 · 294 阅读 · 0 评论 -
C++中虚函数工作原理和(虚)继承类的内存占用大小计算
转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/7883531一、虚函数的工作原理 虚函数的实现要求对象携带额外的信息,这些信息用于在运行时确定该对象应该调用哪一个虚函数。典型情况下,这一信息具有一种被称为 vptr(virtual table pointer,虚函数表指针)的指针的形式。vptr 指向一转载 2014-12-11 07:26:46 · 277 阅读 · 0 评论 -
C++ 虚函数表解析
目录(?)[+]C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的转载 2014-12-11 07:25:25 · 278 阅读 · 0 评论 -
C++中重定义、重写、重载的区别以及隐藏与覆盖的访问
在C++中,有以下几个概念:重定义(redefine):派生类对基类的成员函数重新定义(即派生类定义了某个函数)该函数的名字与基类中的函数名字一样。重载(overload):函数名字相同,但它的形参个数或者顺序(或者类型不同)注意不能靠返回类型来判断。重写(override):派生类重定义基类的虚函数(即会覆盖基类的虚函数)。隐藏基类成员函数的情况:(非虚函数)如果在派转载 2014-12-11 07:22:00 · 317 阅读 · 0 评论 -
一 : using声明、using指示及其作用域详解
1. using 声明:一个using声明一次只能引入一个命名空间成员,从using声明点开始,直到包含该using声明的作用域结尾,声明的名字仅仅在该作用域是可见的,外部作用域中相同的名字被屏蔽,它可以出现在全局作用域,局部作用域或者命名空间作用域中,类中的using声明局限于使用其基类中定义的名字;using声明将名字直接放入出现using声明的作用域,好像using声明是命名空间成员转载 2015-01-15 11:56:04 · 521 阅读 · 0 评论 -
二 : using声明、using指示用于嵌套命名空间时的作用域
上一篇 using声明、using指示及其作用域详解 说的是函数内部或者全局作用域中使用using声明和using指示的情况,这里说的是在嵌套命名空间中使用using声明与using指示的情况。//named_namespace.h 命名空间成员声明与定义头文件[html] view plaincopyprint?#ifndef NAM转载 2015-01-15 11:56:53 · 375 阅读 · 0 评论 -
全局变量如果不初始化,则默认为0,编译时编译器不提示“变量未初始化”
一、内存区域的划分 一个由C/C++编译的程序占用的内存分为以下几个部分: 1)、栈区(Stack):由编译器(Compiler)自动分配释放,存放函数的参数值,局部变的值等。其操作方式类似于数据结构中的栈。 2)、堆区(Heap ):一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配转载 2014-11-12 20:34:30 · 6532 阅读 · 1 评论