《C++ Primer》知识点总结
树图思维导图提供 《C++ Primer》知识点总结(五) 在线思维导图免费制作,点击“编辑”按钮,可对 《C++ Primer》知识点总结(五) 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:5725866dfdc79fd02c7c7625ad607eb3
《C++ Primer》知识点总结(五)思维导图模板大纲
func _ _ 存放当前调试的函数的名字
FILE _ _ 存放当前文件名的字符串字面值
LINE _ _ 存放当前行号的整型字面值
TIME _ _ 存放文件编译时间的字符串字面值
DATE _ _ 存放文件编译日期的字符串字面值
函数指针指向函数而非对象
bool lengthCompare(const string &, const string &); //声明一个可以指向该函数的指针 bool (*pf)(const string& , const string&);
pf = lengthCompare; //pf指向名为lengthCompare的函数 pf = &lengthCompare; //等价的赋值语句:取地址符是可选的 bool b1 = pf("hello", "goodbye"); //调用lengthCompare函数 bool b2 = (*pf)("hello", "goodbye");
联合(union)是一种节省空间的特殊的类,一个 union 可以有多个数据成员,但是在任意时刻只有一个数据成员可以有值。当某个成员被赋值后其他成员变为未定义状态
默认访问控制符为 public
可以含有构造函数、析构函数
不能含有引用类型的成员
不能继承自其他类,不能作为基类
不能含有虚函数
匿名 union 在定义所在作用域可直接访问 union 成员
匿名 union 不能包含 protected 成员或 private 成员
全局匿名联合必须是静态(static)的
#include<iostream> union UnionTest { UnionTest() : i(10) {}; int i; double d; }; static union { int i; double d; };
int main() { UnionTest u; union { int i; double d; };
std::cout << u.i << std::endl; // 输出 UnionTest 联合的 10 ::i = 20; std::cout << ::i << std::endl; // 输出全局静态匿名联合的 20 i = 30;
分类
全局作用域符(::name):用于类型名称(类、类成员、成员函数、变量等)前,表示作用域为全局命名空间
类作用域符(class::name):用于表示指定类型的作用域范围是具体某个类的
命名空间作用域符(namespace::name):用于表示指定类型的作用域范围是具体某个命名空间的
int count = 11; // 全局(::)的 count class A { public: static int count; // 类 A 的 count(A::count) }; int A::count = 21;
void fun() { int count = 31; // 初始化局部的 count 为 31 count = 32; // 设置局部的 count 的值为 32 }
树图思维导图提供 《C++ Primer》知识点总结(四) 在线思维导图免费制作,点击“编辑”按钮,可对 《C++ Primer》知识点总结(四) 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:57ac5d02c24062bf3cf3a47efbd20348
树图思维导图提供 《C++ Primer》知识点总结(三) 在线思维导图免费制作,点击“编辑”按钮,可对 《C++ Primer》知识点总结(三) 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:de3eeb9f11fa6ac31d801a50b532be6c