![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 50
甜橙の学习笔记
勿在浮沙筑高台
展开
-
Vscode | 最常用的快捷键!学会了打代码效率飞涨!
Visual Studio Code 快捷键介绍原创 2023-07-09 17:06:33 · 2405 阅读 · 2 评论 -
C++备忘录 --- 常用的关键字
C++的常用关键字有很多,除了最基本的语法关键字外,还有一些在特定情境下使用的关键字,记录一些常见但是容易忘记关键字的备忘原创 2023-07-13 21:45:38 · 228 阅读 · 0 评论 -
《Effective C++》中的55条建议,以及它们的具体做法
一句话说清楚《Effective C++》的55条建议原创 2023-04-24 21:12:51 · 180 阅读 · 1 评论 -
时间戳字符串时间(秒) -> 年月日时分秒的字符格式 c++版
【代码】秒时间戳字符串时间 -> 年月日时分秒的字符格式 c++版。原创 2023-04-08 12:09:40 · 233 阅读 · 0 评论 -
C++点击运行之后发生了什么?(C++ 编译过程简介)
C++ 编译过程简介C/C++程序编译流程:预处理->编译->汇编->链接具体的就是:源代码(source coprede)→预处理器(processor)→编译器(compiler)→汇编程序(assembler)→目标程序(object code)→链接器(Linker)→可执行程序(executables)C语言在linux下的基本流程如图:1. 预处理:预处理相当于根据预处理指令组装新的C/C++程序。经过预处理,会产生一个没有宏定义,没有条件编译指令,没有特殊符号的输原创 2021-05-27 20:09:54 · 421 阅读 · 0 评论 -
23种设计模式+4种设计原则+类的关系
23种设计模式+4种设计原则+类的关系一、大话设计模式手写版笔记:这里类的关系参考西北工业大学的课本:《C++程序设计》姜学峰版本,更容易理解。二、写在文后的有关C++和设计模式的个人理解: C++通过面向对象的类、继承、封装、抽象、隐藏、多态等基本方式,使得它变成一门扩展性好、可复用、易维护的语言。而这些设计模式又给出了在不同情况下的不同的方法和技巧的“模板”,使得其复用性、扩展性、易用、易维护,原创 2021-05-15 09:14:23 · 81 阅读 · 0 评论 -
C++实现大话设计模式——简单工厂模式
简单工厂模式——计算器一、概念:简单工厂模式属于创建型模式又叫做静态工厂方法模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。二、 优点和缺点优点:工厂类含有必要的判断逻辑,可以决定在什么时候创建哪一个产品类的实例,客户端可以免除直接创建产品对象的责任,而仅仅“消费”产品;简单工厂模式通过这种做法实现了对责任的分割,它提供了专门的工厂类用于创建对象。客户端无须知道所创建的具原创 2021-05-14 10:10:47 · 350 阅读 · 0 评论 -
《C++ Primer》小玩具: 文本查询程序代码
一、文本查询程序实现书中题目:我们将实现一个简单的文本查询程序,我们的程序允许用户在一个给定文件中查询单词。查询结果是单词在文件中出现的次数及其所在行的列表。如果一个单词在一行中出现多次,此行只列出一次。行会按照升序输出。我们可以直接使用vector 、set和map来直接编写文本查询程序,但我们在这里定义一个抽象的解决方案会更有效。程序支持以下任务:1.它必须允许用户指明要处理的文件的名字。程序将存储该文件的内容,以便输出每个单词所在的原始行。2.它必须将每一行分解为各个单词,并记录每个单词所原创 2021-05-12 16:39:55 · 201 阅读 · 2 评论 -
C++:标准模板库STL笔记(概念+栗子=秒懂)
STL:写在前面:最近刷题的时候总是会遇见使用STL轻松解决的好家伙,所以用这篇文章来总结一下自己遇到的常用的ST了方法。仅仅作个人笔记用途,如果不小心帮到了你,那可真是太好了。原创 2021-04-26 11:51:43 · 162 阅读 · 0 评论 -
使用指针访问字符串、计算一个字符串的长度(实现strlen 的函数功能)
使用指针计算一个字符串的长度(实现strlen 的函数功能)这实现思想没啥好说的,直接杀个代码祭天吧。#include<iostream>using namespace std;int main(){ char str[100]="Javascript",*p=str; while(*p)p++; cout<<"strlen="<<p-str<<endl; return 0; }...原创 2021-01-16 21:21:19 · 1452 阅读 · 1 评论 -
C++辗转相除法求解两个数字的最大公约数函数实现:
C++辗转相除法求解两个数字的最大公约数函数实现算法思想:用大数对小数求余,若余数为0,则除数为最大公约数。若余数不为0,将此余数作为除数,小数作为被除数,重新求余,直到余数为0为止。此时的最大公约数为余数。代码如下:/* 辗转相除法求解两个数字的最大公约数函数实现 greatest common divisor tiancheng 2021.01.12*/#include<iostream>using namespace std;int gcd(in原创 2021-01-12 21:58:37 · 1755 阅读 · 0 评论 -
用函数实现判断一个数是不是素数
判断一个数是不是素数:算法的为用这个数做从2到他自己的取余运算,如果结果有0的,说明能被处理1和它本身的数字整除,不是素数,否则是素数。这么简单,直接上代码:#include<iostream>using namespace std;bool Isprime(int m){ for(int i=2; i<m; i++) if(m%i == 0)return false; return true;}int main(){ int m=原创 2021-01-12 21:21:34 · 4952 阅读 · 0 评论 -
C++:快速排序法的代码实现
快速排序法**快速排序法(quick sort)**的基本思想是:通过一趟排序将要排序的记录分割成独立的两部分,其中一部分的所有记录关键码比另外一部分的记录关键码都要小,然后再按此方法对这两部分数据分别进行递归快速排序,从而使序列成为有序序列。设有A[1]一A[n]的n个数据,选取第一个数据作为关键数据,然后将所有比它小的数据都放到它前面,所有比它大的数据都放到它后面,称为一趟快速排序。其算法是:①设置两个变量i、j,排序开始的时候i=左边界,j=右边界,令关键数据s=A[i]。②从 i 开始向前搜原创 2020-12-19 15:22:22 · 1522 阅读 · 1 评论 -
C++:插入排序算法实现代码
插入排序法**插人排序法(insertion sort)**的基本思想是把新插入记录的关键码与已排好序的各记录关键码逐个比较,当找到第一个比新记录关键码大的记录时,该记录之前即为插入位置k。然后从序列最后一个记录开始到该记录,逐个后移一个单元,将新记录插入k位置。如果新记录关键码比序列中所有的记录都大,则插入到最后位置。设有A[1]~A[n]的n个数据v插入排序的过程可以描述为:①已排序列首先为A[1].(一个数字一定是有序的);②然后将A[2]~A[n]逐个插人序列中,进行第à趟排序。将A[i门与原创 2020-12-18 16:40:22 · 465 阅读 · 1 评论 -
关于指针P、*P、&P的区别
关于指针P、*P、&P的区别一、指针与指针变量1、指针和指针变量是两个不同的概念,但要注意的是,通常我们叙述时会把指针变量简称为指针。2、指针就是地址,地址就是指针,它是一个形无符号整型,一个整数,它的大小取决于系统是16 32 还是64位的 16/8=2byte 32/8=4byte 64/8=8byte.3、指针变量其实是一个变量,只不过其存放的内容为地址,如 int* p,这个p是指针类型,它的值存的是地址。二、指向变量的指针和指向本身的指针假设我们定义了一个指针变量 int *p转载 2020-12-06 09:26:30 · 11555 阅读 · 1 评论 -
C++:选择排序算法实现代码
#include<iostream>using namespace std;int main()//冒泡排序{ int i,j,t,k; int A[10]={1,3,4,8,9,10,2,5,7,6}; for(i=0;i<9;i++) { k=i; for(j=i+1;j<10;j++) if(A[j]<A[k]) k=j; //存放最小元素下标原创 2020-12-05 17:29:13 · 1376 阅读 · 0 评论 -
C++:冒泡排序的实现算法代码
#include<iostream>using namespace std;int main()//冒泡排序{ int i,j,t; int A[10]={1,3,4,8,9,10,2,5,7,6}; for(i=0;i<9;i++) { for(j=0;j<9-i;j++){ if(A[j]>A[j+1]){ t=A[j]; A[j]原创 2020-12-05 16:36:38 · 751 阅读 · 0 评论 -
C++编程第一步:判断一个数字是不是整数
C++编程第一步:如何判断一个数字是不是整数?代码如下:#include<iostream>using namespace std;float A(float a){ if(a-(int)a==0) return 0; else { return 1; }}int main(){ float a; c...原创 2019-12-02 11:16:11 · 27339 阅读 · 1 评论 -
C++编程第一步:逆序输出一个字符串,并输出字符串长度
C++编程第一步:逆序输出一个字符串,并输出字符串长度本段代码功能:获取输入的字符串,逆序输出该字符串,并计算该字符串的长度输出:#include<iostream>#include<cstring>using namespace std;int main(){ int i,n,len=0; //len是输入的字符串长度,i是一个变量,用...原创 2019-11-29 21:47:49 · 2839 阅读 · 2 评论 -
C++编程第一步:两个时间点的时间差
C++编程第一步:两个时间点的时间差本段代码的功能:输入一天中的两个时间,要求是24小时制,程序可以计算出两个时间点差几小时几分钟。 全代码如下:#include //C++头文件,必须有 本段代码用于求同一天中的两个时间点的时间差#include //用到数学函数...原创 2019-11-29 21:20:28 · 5734 阅读 · 0 评论 -
C++编程第一步:输出100以内的奇数和
编程第一步:输出100以内的奇数和C++代码如下:#includeusing namespace std;int main(){int i=0,sum=0;for(i=1;i<=100;i++){if(i%2==1){sum=sum+i;}} cout<<"100以内的奇数和是"<<sum<<endl; }C++运行...原创 2019-11-24 09:05:13 · 11637 阅读 · 0 评论 -
C++编程第一步:输出水仙花数
第一个小程序:输出水仙花数水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。C++代码如下:#in...原创 2019-11-24 08:33:43 · 4557 阅读 · 0 评论 -
C++编程第一步:输出九九乘法表
编程第一步:九九乘法表:#include using namespace std;int main(){int i,j,m; //i,j是两个变量,分别代表两个成数,m是乘积for(i=1;i<=9;i++) ...原创 2019-11-23 12:40:01 · 6240 阅读 · 3 评论