C/C++能力提升
文章平均质量分 92
DRZ_2000
在美丽的北国重镇哈尔滨,有一座神秘院校。。。
展开
-
简单工厂模式、工厂模式、抽象工厂模式(含C++代码)
简单工厂模式、工厂模式、抽象工厂模式原创 2022-09-01 17:54:50 · 730 阅读 · 1 评论 -
C++运算符重载 (含代码)
文章目录一 概念介绍二 代码演示一 概念介绍 当运算符作用于自定义的类类型的运算对象时,需要通过运算符重载重新定义该运算的含义。重载的运算符是具有特殊名字的函数:它们的名字由关键字 operator 和其后要定义的运算符号共同组成,如operator+。和其他函数一样,重载的运算符也包含返回类型、函数名、参数列表以及函数体。 运算符重载按照重载函数定义位置的不同可分为两类:一类是在类内,作为类的成员方法;另一种是定义在类外的非成员函数,即普通的全局函数。对于类内成员方法:函数仅一个参数,运算符左原创 2022-01-17 20:52:34 · 1094 阅读 · 0 评论 -
C++设计模式之单例模式
文章目录一 前言二 代码实现及改进1. 初版代码2. 多线程带来的影响三 饿汉模式和懒汉模式一 前言 单例模式是面向对象设计模式中的一种,什么是单例模式,单例模式就是指某个类只可以实例化出一个对象,不可以实例化出多个对象,在工程中单例模式有比较多的应用,例如http服务器类,对于某网络服务来说http服务器一般只有一个,所以http服务器对象一般只有一个,再比如创建和销毁比较平凡的工具类,为了减少频繁的创建和销毁对象造成计算机效率低下,也通常使用单例模式;还有线程池、打印机这些只需要一个对象的类。原创 2020-09-30 16:20:44 · 341 阅读 · 0 评论 -
C++ 多态之虚函数表并通过虚函数表调用虚函数
文章目录一 前言引入二 验证虚函数表的存在并调用三 this指针做为成员方法的隐藏参数一 前言引入 虚函数在多态中可以说非常重要,因此关于虚函数的底层实现,我们有必要了解。首先我们来看以下代码。class Animal {public : Animal() = default; Animal(int x, double y) : x(x), y(y) {} void run() { cout << "I don't know how to run原创 2020-09-25 20:47:44 · 1111 阅读 · 2 评论 -
C++ 多态性初步了解
文章目录一 前提引入一 前提引入 在说多态之前,我们先来看一段代码,猜测代码输出class Animal {public : Animal(const string &name) : __name(name) {} void run() { cout << "I don't know how to run" << endl; }protected : string __name;};class Cat : p原创 2020-09-25 16:14:10 · 321 阅读 · 0 评论 -
C++函数返回值优化(RVO)
文章目录一 函数返回值优化的引出1. 对象的初始化2. 代码实际输出和理论输出二 返回值优化(RVO)1. 优化方法一2. 优化方法二三 如何关闭函数返回值优化一 函数返回值优化的引出 在说C++函数返回值之前我们来看这样一份代码,代码如下:class A {public : A() { cout << "constructor" << endl; } A(const A &obj) { cout <原创 2020-09-17 17:35:02 · 1258 阅读 · 0 评论 -
C语言程序从编写到运行历经的几个阶段
C语言程序从编写到运行历经的几个阶段一 前言 在完成 .c 或 .cpp 文件的编写后,我们通常直接 gcc 或 g++ 后接文件名,就可以在当前文件夹下生成 a.out 可执行文件, 之后输入 ./a.out 即可执行该二进制可执行文件。 但实际上C语言程序从编写到运行,这期间的经历并不是这么简单,那么现在小编就带领大家探索,这期间具体有哪几个步骤?一 过程简介 从上图可知从C...原创 2020-03-19 21:20:41 · 19871 阅读 · 0 评论 -
整形数字、(C++字符串)string、(C类型字符串)char *之间的转换
整形数字、(C++字符串)string、(C类型字符串)char *之间的转换将数字转换为char *类型的字符串char str[15];int num = 123456;sprintf(str, "%d", num); printf("str = %s\n", str);//除sprintf()函数之外后还有itoa()函数//value将要转换的值,str结果,对应的进制...原创 2020-03-04 22:48:46 · 348 阅读 · 0 评论 -
记忆化搜索以及记忆数组大小的影响
记忆化搜索以及记忆数组大小的影响一 问题的引入小编在回顾欧拉计划时遇到记忆化搜索问题,略有感触,感觉有必要和大家分享。话不多说咱们直接上截图:问题大意:一个数,若为偶数,则它下一次将变化为n / 2;若为奇数,则将变化为3 * n + 1;这样变化最后一定会以1结尾,为此,我们得到一个转换序列。现在我们要做的就是在1~1000000之间,找到一个数,该数字对应的转换序列的长度最长。...原创 2020-01-23 15:06:07 · 469 阅读 · 0 评论 -
数组传参以及二维数组的动态创建
数组传参以及二维数组的动态创建一 普通一维数组的参数传递一维数组的创建以及参数传递比较简单,小编在这就直接代码演示,不做过多描述#include <iostream>#include <cstring>using namespace std;//或者是int demo(int arr[], int n) {}//但若是二维或多维数组传参,没这么简单int ...原创 2020-01-17 14:39:22 · 257 阅读 · 0 评论 -
利用线性筛算法框架求解因数个数以及因数和问题
利用线性筛算法框架求解因数个数以及因数和问题前言关于线性筛算法,在前一篇文章原创 2020-01-06 12:43:48 · 2266 阅读 · 2 评论 -
使用线性筛以及素数筛求出某范围内的所有素数
使用线性筛以及素数筛求出某范围内的所有素数一 素数的定义我们规定:若一个数字的因数只有1和它本身,那么这个数就是素数(1除外,所以最小的素数是2)二 如何编程实现?1 暴力求解#include <iostream>#include <vector>using namespace std;#define max_n 1000 //表示求1000以内(...原创 2020-01-01 20:17:56 · 527 阅读 · 1 评论