摘要: 友元的三种类型 全局函数做友元 类作友元 成员函数做有元 特点 友元函数不是成员函数,所以友元函数没有this指针。 它可以访问类的私有(private)和保护(protected)成员。 友元函数通常定义在类外,但在类中声明为友元。 注意友元的定义要么放在最开始,要么放在最后。 友元函数 在类的定 阅读全文
posted @ 2024-05-23 17:20 baobaobashi 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 构造函数的任务是初始化类对象的数据成员,无论何时只要类的对象被创建,就会执行构造函数。 一、构造函数注意 名字和类名相同。 没有返回类型。 有一个(可以为控)的参数列表和一个(可以为空)的函数体。 可以重载。 不能被声明为const。 当创建一个const对象时,知道构造函数完成初始化过程,对象才能 阅读全文
posted @ 2024-05-23 00:50 baobaobashi 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 一、声明 要声明一个可以指向函数的指针,只需要用指针替换函数名即可。 bool LengthCompare(const string &s1, const string &s2); //使用指针进行替换 bool (*pf)(const string &s1, const string &s2); 阅读全文
posted @ 2024-05-22 11:17 baobaobashi 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 一、函数匹配 当我们有重载函数的时候并且重载函数参数可以通过类型转换得到时,我们需要考虑函数匹配,调用的到底是那个函数。 void f(); void f(int); void f(int, int); void f(double, double = 3.14); f(5.6); //调用f(dou 阅读全文
posted @ 2024-05-20 00:53 baobaobashi 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 一、指定默认参数 在函数的声明或者初始化的时候,调用函数的时候不需要提供全部的参数。 //带默认参数的函数 int fun(int a, int b = 10, int c = 20); a是普通参数,b和c是带有默认参数的参数。 二、调用方法 fun(5); //a = 5 b = 10 c = 阅读全文
posted @ 2024-05-18 17:30 baobaobashi 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 一、重载原则 原则: 不允许两个函数除了返回类型以外其他所有的要素全部相同 顶层const不影响传入函数的对象,一个顶层const的形参无法与另一个没有顶层const的形参区分。 int fun(const int a); //const普通变量,这个和下面的是一样的 int fun(int a); 阅读全文
posted @ 2024-05-18 16:41 baobaobashi 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 一:作用 std::initializer_list 是 C++11 引入的一个新特性,它允许你在函数参数中传递一个花括号 {} 初始化的列表。这个列表是临时的,并且主要用于初始化数组、容器或其他需要多个初始值的对象,函数实参数量未知且全部实参类型都是相同的。 例子: #include <iostr 阅读全文
posted @ 2024-05-16 22:45 baobaobashi 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 一、整形提升 整型提升是一种隐式类型转换,当涉及到小于int类型的整数(如char、short、bool等)时。整型提升的目的是确保所有的操作数在算术运算或比较操作中具有相同的类型,通常是int类型,如果int不能表示该值,则可能会提升到unsigned int或更大的整数类型。 二、无符号数和带符 阅读全文
posted @ 2024-05-12 15:53 baobaobashi 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 一、sizeof() sizeof 是一个操作符,它在编译期间确定的,返回的是静态大小。 它可以应用于基本类型、类类型、数组和指针等。 例如:sizeof(int) 或 sizeof(array)。 对于数组,sizeof 返回整个数组的大小(包括所有元素)。 对于指针,sizeof 返回指针本身的 阅读全文
posted @ 2024-05-11 13:13 baobaobashi 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 一、为什么用迭代器 要访问string和容器中的元素,可以通过下标运算符实现。但是只有少数容器实现了下标访问,所以需要一个更为通用的方式来访问,就引入了迭代器(iterator)。从这一点上看,迭代器和指针类似。 二、迭代器的运算符 操作符名称 作用 *iter 返回迭代器所指向元素的引用 iter 阅读全文
posted @ 2024-05-11 10:32 baobaobashi 阅读(4) 评论(0) 推荐(0) 编辑