一些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.单例模式:
其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。
随机推荐
- WPF控件开源资源
(转)WPF控件开源资源 Textbox Drag/Drop in WPFhttp://www.codeproject.com/Articles/42696/Textbox-Drag-Drop-in- ...
- Linux安全运维笔记2018-03-01更新
本人wechat:YWNlODAyMzU5MTEzMTQ=. *** # 修改关键目录文件的权限 chmod u-x,g-r /home/lema chmod 444 /home/lema # 用户权 ...
- java中的策略设计模式
本文主要讲java中的策略模式:一个可以根据不同的传入参数而具有不同行为的方法,就叫策略模式.概念可能有点不好理解,具体看下面代码: import java.util.Arrays; /** * 策略 ...
- Leetcode 938. Range Sum of BST
import functools # Definition for a binary tree node. # class TreeNode(object): # def __init__(self, ...
- 8.var目录下的文件和目录详解
1./var目录下的文件和目录详解. /var (该目录存放的是不断扩充且经常修改的目录,包括各种日志文件或者pid文件,存放linux的启动日志和正在运行的程序目录(变化的目录:一般是日志文件,ca ...
- JS返回上一页并刷新
window.history.go(-1);//返回上一页不刷新 window.location.href = document.referrer;//返回上一页并刷新
- 使用 ip 进行系统网络配置
检查是否有安装iproute工具 rpm -qa | grep iproute 查看所有可用接口 ip link show 启用或禁用接口 ip link set down eth1 ip link ...
- (转)android adb pull and push
adb命令下pull的作用是从手机端向电脑端拷文件. 命令:adb pull /sdcard/**.txt D:\ 说明:将手机卡中的某个文本文件 ...
- 搭建基于hyperledger fabric的联盟社区(一) --前言
三个月前上面发了一个关于智群汇聚和问题求解研究的项目,我们公司做其中的一个子项目,就是基于区块链的科技信息联盟构建.利用区块链的去中心化特性,构建一个基于区块链的科技社区,以提供科技群智汇聚采集的基础 ...
- 安装ruby-pg报错解决
ruby用pgsql做orm的时候,需要安装ruby-pg库,默认编译安装会提示缺少xx头文件 max下,我用的傻瓜式pgsql.app gem install pg -- --with-pg-con ...