C++
文章平均质量分 79
长白听书人
总想写出一些不一样的东西
展开
-
C++输入输出的方法cout与cin
使用时必须包含< iostream >头文件并展开命名空间名std,std是c++标准库的命名空间。C++的输入输出是用类来实现的。原创 2023-06-14 15:47:07 · 84 阅读 · 0 评论 -
一篇博客讲清楚函数重载
在c语言中是不允许出现同名函数的,c++弥补了c的缺陷允许出现同名不同参数的函数而解决方案就是函数重载。函数重载:在C++中允许在同一个域中,出现同名不同参数(参数个数不同、参数类型不同、参数类型顺序不同)的函数,这种函数情况就被称作函数重载,而这种函数也被称之为重载函数。编译器会根据你传入的参数自动调用对应函数//参数类型不同int main()f(3,5);//调用的是F1(int x, int y)f(3.0,5,0);//调用的是F1(double x, double y)原创 2023-06-16 20:50:23 · 35 阅读 · 0 评论 -
类和对象上篇(1)
c++是一款面向对象的语言,面向对象语言模拟的是现实世界,c++中的类就是用来模拟现实世界具体对象的。类与对象的关系就好比类型与变量,我们通过类(类型)来创建对象(变量)。类的创建方式与结构体类似,class和struct都可以创建类,差别在于class默认权限是private(私有),struct的默认权限是public(公有)。类成员可以有变量、函数、类等,类中的变量称为成员变量,类中的函数称为成员函数。成员函数的定义可以在类中也可以在类外,在类中时会被编译器当成内联函数处理,在类外需要使用域限原创 2023-06-21 14:52:36 · 27 阅读 · 0 评论 -
类和对象上(2)类对象模型和this指针
类的成员函数与成员变量是分开存储的,类中的成员变量仅是声明,在对象实例化时存储在类对象中,非静态成员函数存储在代码区,静态成员则存储在全局/静态区。在调用非静态成员函数时会将该对象的地址也一并传入给成员函数做参数,只不过这个过程是隐式发生的。类名* const this指针就是用来接收对象地址的,同样对用户来说也是透明的。原创 2023-06-21 21:12:09 · 28 阅读 · 0 评论 -
类和对象中篇——默认成员函数总结
在类中有一些特殊的成员函数,称为默认成员函数它们用来执行常见的操作,例如对象的初始化、清理、拷贝和赋值等,默认成员函数区别于其他成员函数的地方在于就算我们不写编译器也会默认生成。默认成员函数有6个:构造函数(用于完成初始化工作)析构函数(用于完成清理工作)拷贝构造(用于使用同类对象初始化创建对象)赋值重载(用于把一个对象赋值给另一个对象)取地址重载(用于普通对象取地址,这个很少会自己实现)const取地址重载(用于const对象取地址,这个很少会自己实现)原创 2023-06-25 15:52:09 · 123 阅读 · 0 评论 -
关于引用的复习与总结
引用变量是C++中的一种特殊类型的变量,它可以视为已经声明的变量取一个别名,引用变量与它引用的变量共用同一块空间引用变量时必须初始化且引用的类型必须与被引用的对象类型相同一个变量可以有多个引用,引用变量一旦引用一个变量,就不能在引用其他变量引用只能允许权限的平移和缩小,引用不能引用字面常量指针是一个变量,它存储了一个地址,可以用来间接访问其他变量或对象的值。引用变量在语法概念上就是一个别名,没有独立空间,和其引用的变量共用同一块空间原创 2023-06-20 09:42:57 · 47 阅读 · 0 评论 -
内联函数与auto关键字
内联函数是一种特殊的函数,区别与其他函数的地方在于,内联函数没有函数栈帧也不会产生函数调用,它会在函数调用处展开函数体内的代码。内联函数可以减少函数调用和返回的开销,提高程序的执行效率,由于内联函数在每个调用点都会展开,如果内联函数的函数体过于庞大可能会导致代码膨胀,因此内联函数适合定义简单的、频繁调用的函数。auto可以根据初始化的表达式来自动推导出auto的实际类型。要注意的是auto并非是一种类型,而是一种类型“占位符”,编译器在编译阶段会将auto替换为变量实际的类型。原创 2023-06-19 09:55:34 · 29 阅读 · 0 评论 -
关于缺省参数的一切
缺省参数指的是在声明或定义函数时为函数的参数传入一个初始值(这个初始值被称为缺省值),这种函数参数就被称为缺省参数,缺省参数的特点是:在调用该函数时如果缺省参数没有传入被实参则采用缺省值来初始缺省参数,如果传入了实参则采用实参来初始化缺省参数。//没有传参时使用缺省值来初始化aFunc(10);//传参时使用指定的实参来初始化areturn 0;缺省参数在没有对应的实参传入时会采用缺省值来进行初始化。原创 2023-06-16 09:18:36 · 82 阅读 · 0 评论 -
一篇文章带你理解和掌握命名空间
相同的域里面无法定义重名的变量、函数、类型,但不的同域之间可以定义重名的变量、函数、类型命名空间是C++用来解决C语言命名冲突的方案,通过创建一个自己的命名空间域来与其他的域区分开从而避免命名冲突::(域限定符)可以让编译器去指定的域里面进行搜索,::前面是空白就表示去全局域里面搜索命名空间的访问方式有三种:将命名空间全部展开,将命名空间部分展开,使用域限定符指定去命名空间里面搜索。原创 2023-06-14 10:13:02 · 124 阅读 · 0 评论