Inside The C++ Object Model(四)函数语意学
来源:互联网 发布:电脑k歌软件 编辑:程序博客网 时间:2024/05/16 06:40
一 Member的各种调用方式:
(1)C++支持三种member functions:static、nostatic和static。
(2)Nonstatic成员函数的调用:
*nonstatic member function至少必须和一般的nonmember function有相同的效率。
*编译器内部把"member函数实体"转换为对等的"nonmember 函数实体"。
(3)virtual Member Function:
*例如:ptr->fun1()将内部转化为:(*ptr->vptr[1])(ptr)。这里假设fun1在虚表中第1个索引处。
(4)static member functions:
1.static成员函数的主要特性是:没有this指针。源于主要特性的次要特性有:
*它不能直接存取类中的nonstatic data。
*不能被声明为const、volatile或virtual。
*不需要经由class object调用-虽然大部分它是这样被调用的。
二 Vitual Member Functions(非常重要):
*详见C++虚函数文件。
三 函数性能
四 指向Member Function的指针。
五 Inline Functions:
(1)关键字inline只是一个请求,编译器有复杂的计算方法(执行成本),来决定一个函数是否变成inline。
(2)inlie是#define的一个安全替代品。
(3)一个inline函数被调用太多次会产生大量的扩展码,使程序的大小暴涨。
- Inside The C++ Object Model(四)函数语意学
- Inside The C++ Object Model(二)构造函数语意学
- Inside The C++ Object Model(三)Data语意学
- Inside The C++ Object Model(六)执行期语意学
- Inside the C++ Object Model 学习笔记 第四章 函数语意学 测试代码 乱写的
- Inside the C++ Object Model 学习笔记 第四章 函数语意学
- Inside the C++ Object Model 学习笔记 第五章构造 解构 拷贝语意学
- Inside The C++ Object Model(五)构造、拷贝、析构语意学
- object model-构造函数语意学
- object model-Function 语意学
- Inside the C++ Model第二讲之 程序转化语意学(Program Transformation)
- object model-构造、解构、拷贝语意学
- Inside The C++ Object Model
- Inside the C++ Object Model
- 《Inside the C++ Object Model》
- Inside The C++ Object Model
- Inside The C++ Object Model
- Inside The C++ Object Model
- ubuntu小结
- Inside The C++ Object Model(二)构造函数语意学
- Java Sax解析XML文件
- Inside The C++ Object Model(三)Data语意学
- Android 实现再按一次后退键退出应用程序
- Inside The C++ Object Model(四)函数语意学
- SQLSERVER读懂语句运行的统计信息
- Inside The C++ Object Model(五)构造、拷贝、析构语意学
- Android实现左右滑动指引效果
- spring-mvc 详解
- addEventListener()与removeEventListener()
- Inside The C++ Object Model(六)执行期语意学
- 百度地图API
- Redis数据类型及相关命令(3)