摘要: 1.c++ pp page 250 存储持续性:数据保留在内存中的时间;(注:自动存储持续性:在函数定义中声明的变量(包括函数参数)的存储持续性为自动的。它们在程序开始执行其所属的函数或代码块时被创建,而不是程序运行到定义语句时才被创建) 作用域描述了名称在文件(翻译单元)的多大范围内可见。全局作用 阅读全文
posted @ 2022-03-15 23:02 SanFranciscoo 阅读(414) 评论(0) 推荐(0)
摘要: 在按照c++ pp page255,尝试在一个cpp文件(翻译单元)中定义具有外部链接性的静态变量int x = 1,在另一个cpp文件中用 extern int x;引用声明时,运行会出现undefined reference to 'x'的错误。 两个文件分别如下: 接着F5编译,出现: 这时候 阅读全文
posted @ 2022-03-13 21:00 SanFranciscoo 阅读(4641) 评论(0) 推荐(4)
摘要: 关于函数模板与泛型编程的关系,见 https://blog.csdn.net/baidu_37964071/article/details/78235247 函数模板是通用的函数描述,它们使用泛型来定义函数,其中的泛型可用具体的类型(如int 或 double)替换。 1.模板并不创建任何函数,只告 阅读全文
posted @ 2022-03-11 20:37 SanFranciscoo 阅读(387) 评论(0) 推荐(0)
摘要: c++ pp page 227 1.函数重载的关键是函数的参数列表(函数特征标);如果两个函数的参数数目和类型相同,同时参数的排列顺序也相同,则它们的特征标相同。 仅返回类型不同的函数不能重载,重载的特征标必须不同。 2.编译器在检查函数特征标时,将把 一个类型的引用 和该类型本身视为同一个特征标。 阅读全文
posted @ 2022-03-11 20:06 SanFranciscoo 阅读(123) 评论(0) 推荐(0)
摘要: (c++ pp page 225) 1.对于带参数列表的函数,必须从右向左添加默认值。即,如果要为某个参数设置默认值,则必须为它右边所有的参数提供默认值。 int f(int n,int m = 5,int j);//invalid 2.只有原型指定了默认值。函数定义与没有默认参数时完全相同。 阅读全文
posted @ 2022-03-10 22:01 SanFranciscoo 阅读(106) 评论(0) 推荐(0)
摘要: 1.引用基本的概念 int& a = b; 指创建了一个 指向int的引用a,a是复合类型 int& ;(类似指针也是符合类型 int*) a指向b,即a是b的别名; 必须在声明时就将引用初始化,不能先声明再初始化;(c++ pp page 211) 2.常量引用 const int & 在引用做函 阅读全文
posted @ 2022-03-10 21:55 SanFranciscoo 阅读(341) 评论(0) 推荐(0)
摘要: 函数指针->指向函数的指针 c++ pp page199 声明方法: 如果一个计算简单加法的函数原型为: int sum(int ,int); 那么指向该函数的指针 p 应该这样声明: int (*p)(int,int); p = sum;//p point to sum 可以看到,获取函数的地址, 阅读全文
posted @ 2022-02-28 20:53 SanFranciscoo 阅读(141) 评论(0) 推荐(0)
摘要: c++ pp page 182 将指针和const结合有两种用法: 1.让指针指向一个常量对象,即该指针是一个指向 const 的指针(指向常量的指针),这样可以防止使用该指针来修改其指向的那个值,但是可以改变指针指向的位置(这样记:const 修饰其后面紧跟的词) int age = 30; co 阅读全文
posted @ 2022-02-26 21:14 SanFranciscoo 阅读(270) 评论(0) 推荐(0)
摘要: 数组 1.数组大小必须是整形常数、const值或常量表达式,所有的值都是在编译时已知的;但使用new时,可以是变量; 2.不能将一个数组直接赋值给另一个数组,数组名是常量(是指针常量); 3.初始化字符数组时,如果使用双引号直接将字符串常量初始化给数组,则字符串常量中最多由初始化数组时规定的长度-1 阅读全文
posted @ 2022-02-12 17:56 SanFranciscoo 阅读(496) 评论(0) 推荐(0)
摘要: c++ pp page61 c++ pp page76 不能将一个数组直接赋值给另一个数组,如 int cards[4] = {3,4,5,6}; int hands[4]; hands = cards; //not allowed 但是,可以使用赋值运算符(=)将结构体赋值给另一个同类型的结构体, 阅读全文
posted @ 2022-02-09 21:15 SanFranciscoo 阅读(1439) 评论(0) 推荐(0)