« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
|
|
[C/C++]C/C++复习笔记 三 |
内联函数
宏:
宏不是函数 由于处理器展开,没有函数调用的开销
C++的内联函数可以取代宏,必须在函数定义中把函数定义成inline 内联函数和宏一样的是:他是由编译器其展开,也有函数的检查
使用内联函数:编译器把内联函数放到符号表里,当有内联函数调用时,检查调用是否正确,返回值使用是否正确,然后将宏展开。
为了macros的一些陷阱,建议永远使用内联函数。
对于内联函数,内联函数是一些小而逻辑简单的代码,编译时,如果符合内联的要求,编译器会把声明称内联的函数直接将代码或编译后的代插入到调用处,这样可以减少函数调用的开销。
声明内联函数要使用inline关键字,声明为内联的函数必须定义和声明写在一起。
Class的成员函数如果写在class内则默认为内联函数。
inline 声明只是对编译器的一个建议,并不一定会被使用。
| |
|
[C/C++]C/C++复习笔记 二 |
关于访问权限的控制
public,private,protected以及friend.
默认的struct的访问权限是public
默认的class的访问权限是private
关于protected 对于某个class的子类,是可访问的。
关于friend
全局函数,struct,class以及他们的成员函数声明为友元之后,就以访问实体的私有成员.
例如在
#ifndef FRINEND_H_
#define FRINEND_H_
class X;//declaretion X
class Z{
public:
vo | |
|
[C/C++]C/C++复习笔记 一 |
Variable(变量)
用来存储数据的可变对象,在C/C++中当定义一个变量之后编译器就会给这个变量分配一定的存储空间。
Function(函数)
创建一个函数
type functionName(type var... ){
...
(return var;)
}
函数返回值:
第一type是函数的返回值可以是任何内建类型(int,float),或者自定义类型(strut,class)
也可以是void即不会返回任何值。
函数参数列表:
第二个type 以及后面的var 就是函数的参数列表。
| |
|
« 1 › |
|
统计 |
blog名称: 日志总数:7 评论数量:9 留言数量:0 访问次数:40154 建立时间:2006年1月7日 | |