c++零散知识点

简介: 如果在类体外定义inline函数,则必须讲类定义和成员函数定义都放在同一个头文件里面(或写在同一个源程序文件中)否则编译时无法进行置换(将函数代码得拷贝嵌入到函数调用点中)

一,内置成员函数


类的成员函数也可以指定为内置函数。


如果在类体中定义的成员函数中不包括循环等控制结构,c++系统自动地对他们作为内置函数来处理。也是建议性地,而不是命令性的。


c++要求对一般的内置函数要用关键字inline声明,但对类内定义的成员函数。可以省略,因为这些成员函数已被隐含地指定为内置函数。


如果成员函数不在类体内定义,而在类体外定义,系统并不把它默认为内置函数,调用这些成员函数的过程和调用一般函数的过程是相同的。如果想让他是内置函数,应当用inline做显示声明。


如果在类体外定义inline函数,则必须讲类定义和成员函数定义都放在同一个头文件里面(或写在同一个源程序文件中)否则编译时无法进行置换(将函数代码得拷贝嵌入到函数调用点中)


内置函数与内置成员函数是十分相似的。


如果有的函数需要频繁使用,则所用时间会很长,从而降低程序的执行效率。有些实用程序对效率是有要求的,要求系统的响应时间短。


所以,c++提供了一种提高效率的方法,即在编译时将所调用的函数代码直接嵌入到主调函数中,而不是将流程转出去。


方法很简单,就是在函数首行的左端加上inline。


二,指向对象成员函数的指针


定义指向对象成员函数的指针变量的方法和定义指向普通函数的指针变量方法有所不同。


void (*p)();
p=func;
(*p)();//函数调用


void(类名::*p)();


指向对象成员函数的指针要加上类名,加上域名。


p=&类名::成员函数名;


就是要加上域名,这是最不同的一点。

目录
相关文章
|
1月前
|
存储 人工智能 算法
【一站式备考指南】一文掌握 C++ 程序设计 课程 知识点
【一站式备考指南】一文掌握 C++ 程序设计 课程 知识点
102 0
|
12天前
|
存储 网络协议 编译器
【干货总结】Linux C/C++面试知识点
Linux C/C++基础与进阶知识点,不仅用于面试,平时开发也用得上!
429 8
|
21天前
|
C++
C++继承的相关知识点
C++继承的相关知识点
10 0
|
1月前
|
C++
【C++小小知识点】重载、覆盖(重写)、隐藏(重定义)的对比【详解】(23)
【C++小小知识点】重载、覆盖(重写)、隐藏(重定义)的对比【详解】(23)
|
1月前
|
存储 算法 搜索推荐
【C++ 数据结构与算法 一站式备考指南】一文掌握 数据结构与算法课程 知识点(二)
【C++ 数据结构与算法 一站式备考指南】一文掌握 数据结构与算法课程 知识点
103 2
|
1月前
|
存储 算法 C++
【C++ 数据结构与算法 一站式备考指南】一文掌握 数据结构与算法课程 知识点(一)
【C++ 数据结构与算法 一站式备考指南】一文掌握 数据结构与算法课程 知识点
82 2
|
1月前
|
C++
【C++】类和对象的知识点--3
【C++】类和对象的知识点--3
|
1月前
|
存储 C++
【C++】类和对象的知识点--2
【C++】类和对象的知识点--2
|
1月前
|
编译器 C++
【C++】类和对象的知识点--1
【C++】类和对象的知识点--1
|
1月前
|
C++
关于C++的一些小知识点
关于C++的一些小知识点