登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

fyzjhh的博客

データベース管理者 の ブログ 、江です

 
 
 

日志

 
 

c/c++ 积累  

2013-08-22 17:50:23|  分类: 软件 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

extern
在C语言中,修饰符extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的,要在此处引用”
extern修饰符可用于指示C或者C++函数的调用规范。比如在C++中调用C库函数,就需要在C++程序中用extern “C”声明要引用的函数

c static 
static 函数(全局) 变量(全局 局部)
存储区
何时初始化,初始化的值是否确定
何时删除
速度
限定是在整个程序区, 单个文件区, 单个函数内

内存区分类
静态区:保存自动全局变量和static 变量(包括static 全局和局部变量)。静态区的内容在总个程序的生命周期内都存在,由编译器在编译的时候分配。
栈:保存局部变量。栈上的内容只在函数的范围内存在,当函数运行结束,这些内容也会自动被销毁。其特点是效率高,但空间大小有限。
堆:由malloc 系列函数或new 操作符分配的内存。其生命周期由free 或delete 决定。

C++

内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区
堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。
自由存储区,就是那些由malloc等分配的内存块,他和堆是十分相似的,不过它是用free来结束自己的生命的。

c++ static 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。
对于非静态数据成员,每个类对象都有自己的拷贝。而静态数据成员被当作是类的成员。无论这个类的对象被定义了多少个,静态数据成员在程序中也只有一份拷贝,由该类型的所有对象共享访问
静态成员函数,与静态数据成员一样,它为类的全部对象服务而不是为某一个类的具体对象服务

c和c++中“箭头(->)”和“点号(.)”操作符的区别
对于 struct 和 类
箭头(->):左边必须为指针;
点号(.):左边必须为实体。

C++函数的重载Overload
多个函数共用同一个函数名,任意两个函数的参数表中的参数个数、各参数的数据类型和顺序不能完全一样。判断的一句是形参

C++虚函数
基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数
我们只需在把基类的成员函数设为virtual,其派生类的相应的函数也会自动变为虚函数
调用的是否一般是将子类的指针强制转换成父类的类型。 但是实际调用的还是子类的方法。

C++纯虚函数
在基类中不能对虚函数给出有意义的实现,而把它声明为纯虚函数,它的实现留给该基类的派生类去做
virtual <类型><函数名>(<参数表>)=0;

  评论这张
 
阅读(126)| 评论(0)

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018