![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++笔记
文章平均质量分 57
爱吃芝麻球
一定是练功的时候差不多差不多,等到关键时候就总是差一点!
个人博客 https://cc922.github.io/
展开
-
【C++】面试题整理
参考别人的面试题,自己搜集汇总、整理了答案。文章目录1.C++ extern关键字的作用2.C++的this指针3.C++ static静态成员函数详解4.友元5.main函数中两个参数的用法总结6.移动构造调用拷贝构造函数的情形7.左值 右值8.强制类型转换9.智能指针RAII思想智能指针lambda表达式function,bind1.C++ extern关键字的作用C++语言支持分离式编译机制,该机制允许将程序分割为若干个文件,每个文件可以被单独编译,多个文件之间可能需要共享代码,即一个文件的代码原创 2022-05-17 22:28:03 · 252 阅读 · 0 评论 -
【C++】派生类及派生类对象对基类成员的访问权限
类中的成员可以分为三种类型,分别为public成员、protected成员、public成员。类中可以直接访问自己类的public、protected、private成员,但类对象只能访问自己类的public成员。C++中派生类对基类成员的访问形式主要有以下两种:1、内部访问:由派生类中新增成员对基类继承来的成员的访问。2、对象访问:在派生类外部,通过派生类的对象对从基类继承来的成员的访问。public继承此时基类的public成员,protected成员,private成员对于派生类来说变原创 2022-04-30 16:09:38 · 4933 阅读 · 0 评论 -
【C++】构造函数有几种?
四种构造函数C++中的构造函数可以分为4类:默认构造函数、初始化构造函数、拷贝构造函数、移动构造函数。默认构造函数和初始化构造函数。在定义类的对象的时候,完成对象的初始化工作。class Student { public: //默认构造函数 Student() { num=1001; age=18; } //初始化构造函数 Student(int n,int a):num(n),ag原创 2022-04-30 15:09:45 · 3396 阅读 · 0 评论 -
函数重载 隐藏 重写 覆盖
重载(Overload)重载是比较容易弄明白的。定义:重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同(参数列表不同)。调用的时候根据函数的参数来区别不同的函数,函数重载跟返回值无关。规则函数名相同必须具有不同的参数列表可以有不同的访问修饰符重载用来实现静态多态(函数名相同,功能不一样)。重载是多个函数或者同一个类中方法之间的关系,是水平关系。隐藏(Hiding)定义函数隐藏指不同作用域中定义的同名函数构成函数隐藏(不要求函数返回值和函数参数类型相同)。比如派生类成原创 2022-04-28 22:17:30 · 412 阅读 · 0 评论 -
【C++】指定小数输出位数
引入头文件iomanip指定输出位数主要由setprecision()和fixed()负责加上fixed意味着是固定点方式显示,精度指的是小数位unsetf( ios::fixed ); 去掉fixed,精度恢复成整个数值的有效位数#include <iostream>[添加链接描述](https://blog.csdn.net/xiongyangg/article/details/24439295)#include <iomanip>using namespace st原创 2022-04-27 16:52:14 · 1954 阅读 · 0 评论 -
【C++】对象的定义、初始化与赋值
定义int a;编译器将在栈上为变量a分配一块内存空间,但并不会对其进行写入,也就是说,当前x内的值是未知的。读取未被初始化的值将引发不确定的行为:可能会直接让程序崩溃,也可能让系统的逻辑出现错误。赋值int a;a = 1;编译器将为变量a在栈上分配一块内存空间,之后将1赋给a。初始化对于内置类型:int a = 1;在定义时可以直接初始化a对于自定义类型:对于类类型的初始化,C++规定对象的成员变量的初始化动作发生在进入构造函数本体之前,发生在这些成员的缺省构造函数自动调原创 2022-04-26 21:56:32 · 1693 阅读 · 0 评论 -
const关键字与mutable关键字
const 在* 左侧,则指针指向的对象是常量,指针本身不是常量。const 在*右侧,则指针是常量,指针指向的对象不是常量。char text[] = "Hello,world!";char *p = text; // non-const pointer, non-const dataconst char *p = text; // non-const pointer, const datachar * const p = tex原创 2022-04-26 21:27:14 · 937 阅读 · 0 评论 -
应用程序的内存管理
应用程序的组成从汇编语言角度,一个程序分为:数据段堆栈段代码段扩展段从高级语言(如 C 语言)的角度来看,,一个程序分为如下段(当然还有其他段,这里列举主要的段):代码段(text)数据段(data)BSS 段栈(stack)堆(heap)一般情况下,一个可执行二进制程序(在 linux 下为一个进程单元),在存储时(没有加载到内存运行),至少拥有三个部分,分别是代码段(text)、数据段(data)、和BSS 段。这三个部分一起组成了可执行程序(可能还有其他的段,和平台相原创 2022-04-17 09:29:09 · 588 阅读 · 0 评论 -
C++生成随机数
先说函数,生成随机数一般用两个函数:rand()和srand()rand()内部用线性同余法,生成的是伪随机数其范围为0到RAND_MAX,RAND_MAX的值由库决定。srand()设置rand()产生随机数时的随机数种子。随机数种子相同,rand()生成的随机数序列相同常常使用系统时间来初始化srand(),即使用 time 函数来获得系统时间,它的返回值为从00:00 hours, Jan 1, 1970 UTC 到现在所持续的秒数,然后将 time_t 型数据转化为(unsign原创 2022-04-09 21:12:37 · 10622 阅读 · 4 评论 -
atoi()与c_str()
c_str()是C++标准库里string类的成员函数,将string对象转化为char* 对象(包括最后的结束符’\0’),返回了一个指向字符数组的指针。atoi()将char* 类型转化为整型具体来说,atoi()函数会扫描char数组,跳过前边的空白字符,直到遇到正负符号之后开始进行转换,遇到非数字字符等其他字符时停止,返回结果。简单示例:#include <string>#include <iostream>using namespace std;int m原创 2022-04-10 15:32:38 · 1219 阅读 · 0 评论