C/C++
文章平均质量分 74
bitleef
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++:重载输出运算符<<为什么必须写成非成员函数?
1. 运算符作为成员函数时,其左侧运算对象必须是运算符所属类的一个对象 首先明白一个基本概念,对于成员函数,其左侧运算对象必须是运算符所属类的一个对象。也就是说左侧的这个对象必须和运算符必须同属一个类,否则当其他类的对象调用该符号 << 时,在其他类内找不到该符号的成员函数。 该概念在C++Primer第五版14.1内解释过: 2. 然后基于上述概念可以解释为什么 << 不可以是 成员函数。 class bookshop { public: bookshop }原创 2021-02-03 16:44:01 · 1397 阅读 · 0 评论 -
【C++Primer】泛型编程之定制操作(谓词、lambda表达式、参数绑定bind)
定制操作 C++允许我们自己决定算法的操作方式,这就叫做定制操作。通常情况下提供给算法自己定制操作的方式即为谓词。 向算法传递函数 向算法传递函数是通过谓词完成的, 谓词 #F44336: 是什么:一个可调用的表达式(如同平常的“<”, “>”, “==”) 返回结果:其返回结果是一个能 用作条件的值, 类型:标准库算法所使用的谓词可分为两类:一元谓词和二元谓词。 例子:为了使排序先按单词的长度,再按字母表中的顺序进行排序,故采用接受一个二元谓词参数的sort版本用这个谓词代替“<”来比较原创 2020-05-12 21:50:56 · 524 阅读 · 0 评论 -
【C++Primer】泛型算法简述
引言 初识泛型算法 写容器元素的算法 算法不检查写操作 back_inserter(插入迭代器) 拷贝算法 重排容器元素的算法 定制操作 向算法传递函数 1、引言 泛型算法 大多数算法都定义在头文件algorithm中,标准库的头文件numeric中定义了一组数值型算法。泛型算法的作用是通过迭代器间接访问容器,不会执行容器的操作,只运行在迭代器之上,迭代器可以做什么,泛型算法就可以做什么。 迭代器算法不依赖于容器,但算法依赖于元素类型的操作。 2、初识泛型算法 2.1写容器元素的算法.原创 2020-05-11 17:16:21 · 429 阅读 · 0 评论 -
C语言:数据之作用域、链接属性和存储类型总结
作用域 作用域分为4种,文件作用域、函数作用域、代码块作用域和原型作用域。 有什么作用呢?从字面就可以知道,变量在只能在某个区域才体现他们的作用。①其他函数体无法的通过其名字访问它们 ②不同作用域可使用相同名字,而不产生冲突。 作用域和链接属性关系 缺省的 变量的存储类型指变量值的内存类型,变量的类型最主要的是关乎该变量何时创建、何时销毁以及它的值能保留多久!存储位置不同造成变量具有不同的特性。...原创 2020-02-05 20:14:24 · 352 阅读 · 0 评论 -
函数原型、函数声明和函数定义之间关系
函数原型 int power(int m, int n) 依次是 函数返回类型、函数名和形参列表 函数原型不需要函数体,也不需要形式参数的名字,用分号作为原型的结束符。 对于形参列表只需要 说明需要几个参数,分别为什么类型即可,因此用以下方式描述也可以。 int power(int , int ) 函数声明 int power(int base, int n) 依次是 函数返回类型、...原创 2019-10-19 11:16:40 · 2404 阅读 · 0 评论 -
C++中“&引用”和“&取地址”的区别
作用上的不同 &作为引用是某一变量(目标)的一个别名,必须在定义时候就进行初始化,若不进行初始化则会编译报错。 &作为取地址时,用来获取指针指向的元素所在内存中的地址值。 用法上的不同 和类型在一起的是引用,和变量在一起的是取址(表现形式为:引用在赋值=的左边,而取地址在赋值的右边) int a=3; int &b=a; //引用 int *p=&a;...原创 2020-02-05 15:41:37 · 623 阅读 · 0 评论
分享