![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
Zeker62
啥也不知道
展开
-
LeetCode刷题:删除有序数组的重复项详解
题目Given a sorted array, remove the duplicates in place such that each element appear only onceand return the new length.Do not allocate extra space for another array, you must do this in place with constant memory.For example, Given input array A = [1,原创 2021-12-03 16:41:07 · 264 阅读 · 1 评论 -
C++面向对象:静态成员和静态成员函数
不论是静态成员还是静态成员变量都是使用static来修饰静态成员所有的对象同享一份数据在编译阶段分配独有的内存类内声明,类外初始化静态成员函数所有对象共享一个函数静态成员函数只能访问静态成员变量,而不能访问一般的成员变量。私有权限的静态成员函数类外一样访问不到如图,我设置静态变量a和静态成员函数func()作为静态变量a:必须在类外初始化,如下图是不能在类内初始化作为静态成员函数,不能使用其他的成员变量。比如我使用b=200;进行赋值操作就会报错。完整代码#inc原创 2021-05-24 12:56:33 · 181 阅读 · 1 评论 -
C++面向对象:初始化列表
初始化列表初始化列表是指在构造函数中,我们可以提前给构造函数进行初始化。传统的初始化:Person(int a,int b,int c){ m_a=a; m_b=b; m_c=c; }初始化列表:Person(int a,int b,int c) : m_a(a), m_b(b), m_c(c) { }其实这两个的区别不是很大,但是平常如果出现了这样的代码要看得懂我们也可以修改a,b,c的值。总结在构造函数名后面加原创 2021-05-24 12:44:20 · 150 阅读 · 0 评论 -
C++面向对象:友元关键字friend的使用
友元概述(需快速查阅看文末总结)友元:顾名思义,就像朋友一样的元素好比一个人个房屋内,有客厅和卧室,卧室比较私人(private),一般客人无法访问,只能在客厅这个公有环境(public)里面移动.而友元的出现,就好比是自己的好基友来到了家里,可以让好基友进入自己的私人卧室.友元让private修饰的变量属性不再绝对的私有.在必要的时候可以使用friend关键字进行修饰访问.具体用法如下:全局函数做友元全局函数是指在类外以及main函数之外的函数叫全局函数,作用域是全局.bedroom是原创 2021-05-23 21:11:02 · 1793 阅读 · 13 评论 -
操作系统:FIFO算法详解及代码演示
FIFO算法FIFO算法是最简单的页面置换算法。FIFO算法为每个页面记录了调到内存的时间。当必须置换页面的时候,选择最旧的页面。通俗来说,每次进入主存的时候如果主存中不存在这个页面,那么最先进入的页面出队。如果主存存在这个页面,那么内存不动。下面是C++面向对象写法代码。这个说明一下为什么不用容器Queue。是因为queue并没有迭代器,所以无法去寻找里面是否含有某块页面。直接使用线性表即可,方便简单且快速。// 在分页式虚拟存储管理中,要求通过键盘输入分配给一个作业的物理块数和作业原创 2021-05-16 15:00:38 · 14355 阅读 · 2 评论 -
C++面向对象:点和圆的位置判断以及头文件的书写
#include<iostream>using namespace std;// 点和圆的关系的案例// 点类class Point{ public : void setXandY(int x1,int y1){ x=x1; y=y1; } int getX(){ return x; } int getY(){ return y; } private:原创 2021-05-13 17:33:04 · 145 阅读 · 1 评论 -
C++面向对象例题:构建一个立方体类
练习案例1:设计立方体类设计立方体(Cube)求出立方体的面积和体积分别用全局函数和成员函数判断两个立方体是否相等#include <iostream>#include <string>using namespace std;// 设计立方体(Cube)// 求出立方体的面积和体积// 分别用全局函数和成员函数判断两个立方体是否相等class Cube{public: void setl(int length) { l =原创 2021-05-12 10:04:07 · 1062 阅读 · 0 评论 -
C++面向对象:成员属性的私有化
成员属性私有化优点1:将成员属性设置为私有,可以自己控制读写权限优点2:对于写权限,我们可以检测数据的有效性。#include <iostream>#include <string>using namespace std;class Person{public: //写姓名,设置姓名,让姓名可读可写 void setName(string n) { name = n; } // 读姓名(获取姓名)原创 2021-05-12 09:57:36 · 554 阅读 · 0 评论 -
C++中函数的其他用法
函数提高函数默认参数在C++中,函数的形参列表是可以有默认值的语法:返回值类型 函数名(参数=默认值){}#include<iostream>using namespace std;int func(int a,int b=30,int c=30){ return a+b+c;}// 注意事项:// 1.如果某个位置已经有了默认参数,那么从这个位置往后,从左到右必须有默认值// // int func2(int a,int b=30,int c){//原创 2021-05-07 00:02:03 · 96 阅读 · 0 评论 -
黑马视频:C++中的引用
引用的基本语法引用:给变量起别名语法:数据类型 & 别名=原名#include<iostream>using namespace std;int main(){ int a=10; int &b=a; cout<<a<<" "<<b<<endl; b=100; cout<<a<<" "<<b<<endl; return 0;原创 2021-05-06 19:43:53 · 83 阅读 · 0 评论 -
黑马视频笔记:C++程序的内存模型
视频内容来自B站内存分区模型内存划分四个区域代码区:存放函数体的二进制代码,由操作系统进行管理全局区:存放全局变量和静态变量以及常量栈区:由编译器自动分配和释放,存放函数的参数值、局部变量等堆区:由程序员分配和释放,如果程序员不释放,程序结束时由操作系统自动回收内存四区存在的意义:不同区域存放的数据,富裕不同的生命周期,给我们更大的灵活编程。程序运行前在程序编译后,生成exe可执行程序,未执行该程序前分为两个区域。代码区:CPU执行的机器指令代码区是共享的:目的是对于频繁被原创 2021-05-06 16:47:38 · 129 阅读 · 1 评论 -
C++中如何一直输入数据
一般输入很多组数据的情况下最基本的算法是使用数组进行记录但是 对于C++语言来说,这样的内存开销和时间复杂度都会增加。 int n; cin>>n; for(int i=0;i<n;i++){ cin>>a[i]; }但是有方法可以循环输入,下面通过例题来说明竞选社长题目描述假设你们社团要竞选社长,有两名候选人分别是A和B,社团每名同学必须并且只能投一票,最终得票多的人为社长.输入描述:一行,字符序列,包含A或B,输入原创 2021-04-29 09:16:22 · 7047 阅读 · 0 评论 -
C++算法:判断字符串s2是否是s1的子串
子串的判断方法// 编写一个判断子串的函数#include<iostream>#include<cstring>using namespace std;int Strstr(char s1[],char s2[]){ // 空串是任何字符串的子串 if (s2[0]==0){ return 0; } else{ for(int i=0;s1[i];i++){ int k=i,j=0;原创 2021-04-24 15:05:21 · 2384 阅读 · 0 评论 -
C++调用字符串库函数cstring的常见操作和实现
字符串库cstring的常见操作// 字符串拷贝// strcpy (char dest [],char src []); // 拷贝 src 到dest// 字符串比较大小// int strcmp (char s1[],s2[]); // 返回 0则相等// 求字符串长度// int strlen (char s[]); // 不算结尾的 '\0'// 字符串 拼接// strcat (char s1[],s2[]); //s2 拼接到 s1 后面// 字符串转成大写// stru原创 2021-04-24 14:44:12 · 850 阅读 · 0 评论 -
C++字符串的创建、输入、截取、输出。
// c++中的字符串// 字符换常量// 放在字符数组中,以'\0'结尾// string 对象#include<iostream>#include<cstring>// 包含字符串库函数的声明using namespace std;int main(){ char title[]="Prison Break"; // title最后一个元素是'\0' char hero[100]="Michael Scofield"; char p原创 2021-04-24 13:36:44 · 500 阅读 · 0 评论 -
空间换取时间算法:筛法求素数(C++)
筛法求素数// 筛法求素数// 把2到n中的所有的数都列出来,从2开始划掉2内所有的倍数,// 然后每次从下一个剩下// 的数开始(必然是素数),划掉其n内所有的倍数。最后剩下的数就都是素数。// 空间换时间,加快计算速度//设置一个isprime数组,isprime[i]的值是1就表示i是素数// 划掉k的倍数就是把 isPrime[2k]、isPrime[3k]……置成0// 最后检查数组,输出数组值为1的i#include<iostream>using namespac原创 2021-04-24 12:58:34 · 211 阅读 · 0 评论 -
牛客网C++入门编程刷题笔记07~12
十进制转十六进制和八进制题目描述我们处理的整数通常用十进制表示,在计算机内存中是以二进制补码形式存储,但通常二进制表示的整数比较长,为了便于在程序设计过程中理解和处理数据,通常采用八进制和十六进制,缩短了二进制补码表示的整数,但保持了二进制数的表达特点。请输出十进制整数1234对应的八进制和十六进制。输入描述: 无输出描述:十进制整数1234对应的八进制和十六进制(字母大写),用空格分开,并且要求,在八进制前显示前导0,在十六进制数前显示前导0X。 备注:printf可以使用使用格式控制串“%原创 2021-04-24 12:02:39 · 221 阅读 · 0 评论 -
简单的学生管理系统:C++描述
简单的学生管理系统#include<iostream>using namespace std;#include<string>// 联系人结构体struct Person{ string name; int sex; int age; int phone; string address;};// 通讯录结构体#define MAX 100 //最多存放100人struct Addressbooks{ Person pe原创 2021-04-24 10:53:43 · 180 阅读 · 0 评论 -
啃掉C++:基于结构体的某一数据的结构体排序
题目按照每个人的年龄给他们排序代码首先创建结构体其次运用冒泡排序最后打印输出//指针的定义和使用#include<iostream>using namespace std;#include<string>struct hero{ string name; int age; char sex;};// 冒泡排序void bubble(hero s[],int len){ hero temp; for(int i=0;i原创 2021-04-23 18:13:39 · 133 阅读 · 0 评论 -
啃掉C++:概念性基本代码:变练边学:输入输出、循环、条件语句、函数、类
输入输出//这是一个关于输入输出的程序//首先头文件要放在前面#include<iostream>int main(){ std:: cout<<"Enter two numbers"<<std::endl; //输出运算符 << //输出运算符左边的变量必须是一个ostream对象 //输出运算符右边的就是要打印的值,这个运算符将要打印的值写入到ostream对象当中 //语句中输出了两个运算符,第二个运算符原创 2021-04-22 19:43:18 · 98 阅读 · 0 评论 -
啃掉C++Primer 5:注释
注释快捷键注释不能嵌套使用Ctrl+/ 是最好的注释方法原创 2021-04-20 11:02:59 · 81 阅读 · 0 评论 -
啃掉C++Primer 5:开始仪式 初识输入输出
被蓝桥杯Python侮辱之后,决定转路C++初识输入输出//这是一个关于输入输出的程序//首先头文件要放在前面#include<iostream>int main(){ std:: cout<<"Enter two numbers"<<std::endl; //输出运算符 << //输出运算符左边的变量必须是一个ostream对象 //输出运算符右边的就是要打印的值,这个运算符将要打印的值写入到ostream对象.原创 2021-04-20 10:56:51 · 122 阅读 · 0 评论