C++中部分特殊符号
1. ~
- 用在类中的析构函数之前,表示该函数是析构函数。
- 作用:释放对象的资源,销毁非static成员。
- 特点:
- 无参数无返回值。
- 每个类有且只有一个析构函数,不显式定义,系统会帮你生成一个缺省的析构函数。
- 析构函数不能重载,一次构造函数的调用一定有一次析构函数的调用。
- 用在数字或者整形变量之前,表示对该数取反操作,按照二进制取反。
2. ->
- 用处:主要用于类类型的指针访问类的成员。
- A->B:
- A只能是指向类、结构、联合的指针。
3. .
- 用处:主要用于访问类的成员。
4. ||
- 用处:逻辑或
5. &&
- 用处:逻辑与
6. 冒号
6.1. :
- 用法一:表示机构内位域的定义(即一个变量占几个bit空间)
typedef struct name{
char a:4;
};
- 用法二:构造函数后面的冒号起分隔作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型(初始化表)
struct _XXX{
_XXX():y(0){};
}
- 用法三:public和private后面的,用来声明相应的变量的类型
- 用法四:类名冒号后面的是用来定义类的继承。
- 默认继承方式:public
class 派生类名:继承方式 基类名{派生类的成员};
- 用法五:在?:这个表达式中
6.2. ::
- 表示域运算符:在类外声明一个函数的实体
class test{
public:
void f();
}
void test::f(){
more;
}
- 直接用在全局函数前,表示是全局函数。
- 表示引用成员函数及变量,作用域成员运算符。
- 静态数据成员既可以通过对象名引用,也可以通过类名加::来引用。
- 静态成员函数同上
- 静态成员函数引用不了非静态的数据成员。
- 引用勒种定义的typedef新类型。
- A::B
- A可以使名字空间、类、结构。
class test{
public:
typedef int INT;
}
test::INT b;