一些c++
1.static 静态局部对象:
一旦被创建,在程序结束前都不会被撤销。当定义静态局部对象的函数结束时,静态局部对象不会撤销。
2.内联函数:
避免函数调用的开销。
在函数返回类型前加上关键字 inline 就可以将一些特定函数指定为内联函数。
3.友元:
friend 机制允许一个类将对其非公有成员的访问权授予指定的函数或类。
4.static类成员:
static数据成员独立于该类的任意对象而存在。每个static数据成员是与类关联的对象,并不是与该类的对象相关联。
static成员函数没有this形参,它可以直接访问所属类的static成员,但不能直接使用非static成员。
三个优点:
(1)static成员名字在类的作用域中,可以避免与其他全局等对象名字冲突。
(2)可以实施封装。static可以是私有成员。
(3)程序更清晰,static成员是与特定类关联的。
备注:static成员函数不能声明为const。static成员函数也不能被声明为虚函数。
5.动态绑定:
通过基类的引用或者指针调用虚函数时,根据其指向的基类对象或者派生类对象来动态决定虚函数的运行。
触发动态绑定满足两个条件:
(1)只有指定为虚函数的成员函数才能进行动态绑定。
(2)必须通过基类类型的引用或者指针进行函数调用。
6.纯虚函数:
将函数定义为纯虚函数能够说明,该函数为后代类型提供了可以覆盖的接口,但是这个类中的版本绝不会调用。
7.智能指针:
引用计数,析构时监查引用计数,为0时才释放。
8.多态:
一个接口,多种状态。
是通过虚函数来实现的。
9.单例模式:
其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。
随机推荐
- 【Wannafly挑战赛9-B】数一数
链接:https://www.nowcoder.net/acm/contest/71/B 题目就不贴了.. 设res[i]为第i行的最终结果,可以想到,res[i]为0或不为0.长度不是最短的字符串r ...
- 通过TortoiseSVN checkout的文件前面没有“状态标识”
问题描述:安装完成VisualSVN Server.VisualSVn和TortoiseSVN后,然后通过SVN Server新建Repository(仓库),用Visual Studio新建一个So ...
- pg_rewind 源端时间线发生改变 同步失败
master-standby情况下,发生如下行为: 1.master停掉后,standby做为新的master(可能存在部分事物没有同步到standby中). 2.新master运行过程中出错,进行恢 ...
- 使用MS VS的命令来编译C++程序
以前,我是在linux下使用命令或者makefile来编译C++程序的,最近需要在windows上做点测试.于是使用ms VS来作为开发工具,这种大揽全包的IDE确实好用:点一下菜单,编译结果就出来了 ...
- python笔记-5(内置函数)
一.内置函数 1.abs()--取绝对值函数 print(abs(-0.11)) x=-0.01 y=0.11 print(abs(x),abs(y)) ----------------------- ...
- CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\....\App_Web_default.aspx.cdcab7d2.zii776dc.dll”--“拒绝访问。 ”
关于访问asp.net站点出现以下问题的解决办法: 问题: CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v4.0.30319\Tempora ...
- imageView添加阴影和边框
注意:大量设置阴影会造成卡顿!!! 用上这句之后流畅度大大增加:imageV.layer.shouldRasterize = YES; 例: // 设置阴影 imageV.layer.shadowOf ...
- 关于matlab浮点转定点总结
1,算式长度不应该太长,否则在转换过程中提示位宽超过128位,(用的64位matlab),长算式改为短算式就可以了. 2,不要过于相信推荐字长,有些地方需要更高的精度,如果用推荐字长,可能结果误差较大 ...
- 无法建立目录wp-content/uploads/xxxx/xx。有没有上级目录的写权限?解决办法
首先小七已经搭建了n个wordpress网站之前没遇到过这坑爹的问题,有一天很奇怪无论是本地搭建的wp还是线上搭建的wp网站都出现了同样的问题 本地: 报错原因就是文件权限问题,所以首先就是更改wp- ...
- RK3288 dts文件中背光配置参数
backlight { // 设备名(用于匹配) compatible = "pwm-backlight"; // pwm编号 通道 频率(ns) pwms = <& ...