![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 54
q302989778
这个作者很懒,什么都没留下…
展开
-
类的构造函数
·什么是构造函数·构造函数的定义构造函数是类中特殊的一个成员函数,主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值。下面我们给出一段代码:class Point{ int x, y;public: Point(int a=1, int b=1) { x = a; y = b; } void MovePoint(int a, in...原创 2018-11-08 11:35:30 · 1171 阅读 · 0 评论 -
函数指针、函数指针数组、函数指针的数组的指针的概念
·函数指针首先让我们看一段代码:int Add(int x,int y){ return x+y;}int main(){ printf("%p\n",Add); printf("%p\n",&Add); return 0;}·这是结果:·这是我们Add函数的地址,我们给出函数的指针变量用来存放某一函数的地址。int (*p)(int ,in...原创 2018-05-12 11:26:40 · 537 阅读 · 0 评论 -
C语言--折半查找(二分查找)算法
·什么是折半查找·当我们在一堆有序数组中间查找一个数的时候,先将中间的数与查找数进行比较。如果中间数大于我们要查找的数,则在中间左半边进行查找;同样的,如果中间数小于我们要查找的数,则在中间往右半边再次进行查找。重复以上的过程,直到满足,如果不满足,则查找失败。·条件:元素必须按照大小有序排列。 ·图示·那我们实现的思路是什么呢?我们定义三个变量,分别指向这个数组的最左边以及最...原创 2018-05-10 22:44:39 · 1215 阅读 · 0 评论 -
C++ 日期类的基本实现
解释已写在注释中,下面是代码:#include<iostream>using namespace std;#define _CRT_SECURE_NO_WARNINGSclass Date{public: Date(int year = 1900, int month = 1, int day = 1) : _year(year) , _month(mo...原创 2018-11-27 14:35:05 · 231 阅读 · 0 评论 -
C++ UTF-8和GBK的转换
std::string GbkToUtf8(std::string src_str){ int len = MultiByteToWideChar(CP_ACP, 0, src_str.c_str(), -1, NULL, 0); wchar_t* wstr = new wchar_t[len + 1]; memset(wstr, 0, len + 1); MultiByteToWid...原创 2019-02-20 13:47:50 · 1961 阅读 · 0 评论 -
单例模式的例子
·什么是单例模式单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的一个类只有一个实例。即一个类只有一个对象实例。·实现一个简单的单例在我们平常写的代码中,经常是通过构造或者拷贝构造来实例化对象,就像下面这样:class data{private: int _year; int _month; int...原创 2019-04-09 00:33:08 · 2833 阅读 · 0 评论 -
浅拷贝与深拷贝
·浅拷贝例子之前我们写过一个String类的基本封装,现在我们看下面的这个例子:#include<iostream>class String{public: String(const char *str="") :_pstr(new char[strlen(str)+1]) { strcpy(_pstr, str); } ~String() { ...原创 2019-04-09 18:37:17 · 122 阅读 · 0 评论 -
cctype头文件的使用
函数名 作用 isalnum(c) 当c是字母或者数字时为真 isalpha(c) 当c是字母时为真 iscntrl(c) 当c是控制字符时为真 isdigit(c) 当c是数字时为真 isgraph(c]) 当c不是空格但可打印时为真 islower(c) 当c是小写字母时为真 isprint(c) 当c是可打印字符时为...原创 2019-05-14 21:28:14 · 867 阅读 · 0 评论 -
C++11-auto
·C++98中的auto其实在C++98的标准中就有对auto的定义,auto用于声明变量为自动变量,自动变量就是拥有自动生命周期的变量,如下:int a=1; auto int b=1;但是我们不妨想一下,函数中定义的变量不也是一个拥有自动生命周期的变量,一旦函数执行完毕也就意味着变量生命周期结束。因此auto显得很多余,于是C++11页已经删除了这一用法。·C++11中的...原创 2019-05-16 22:54:40 · 188 阅读 · 0 评论 -
详解C语言中的数组指针与指针数组
·详解数组指针与指针数组·数组指针一、区分首先我们需要了解什么是数组指针以及什么是指针数组,如下图:int *p[5];int (*p)[5];数组指针的意思即为通过指针引用数组,p先和*结合,说明了p是一个指针变量,指向一个大小为5的数组。所以,int (*p)[5]即为一个数组指针。int *p[5]则是一个大小为5且存放整型指针的数组。二、数组元素的指针1.定...原创 2018-05-06 21:52:39 · 54535 阅读 · 16 评论 -
详解函数的调用过程
·代码示例我们用一段简单的代码来进行测试,代码如下:int Add(int x, int y){ int z = 0; z = x + y; return z;}int main(){ int a = 10; int b = 20; int ret = 0; ret = Add(a, b); printf("ret=%d\n", ret); system("p...原创 2019-02-11 12:20:19 · 1702 阅读 · 1 评论 -
C++中的引用
·什么是引用变量C++中新增了一种复合类型——引用变量。引用是已定义的变量的别名,因此编译器不会为引用变量开辟新的空间,而是使引用变量指向同一块地址空间。引用变量的主要用途是用作函数的形参,通过将引用变量用作参数,函数就能使用原始数据。下面我们给出一个简单的例子:void Test(){ int a = 10; int& ra = a; printf("%d\n", ...原创 2018-11-14 21:02:33 · 183 阅读 · 0 评论 -
C++中String接口的简单介绍
相关解释已经作为注释一起写在代码中了void TestString(){ string s1; //构造空字符串 string s2("hello world"); //构造string类对象 string s3(5, 'a'); //用n个字符来构造string类对象 string s4(s2); //拷贝构造函数 string s5(s2, 5); //...原创 2018-11-26 19:58:39 · 490 阅读 · 0 评论 -
C++ String类的初步实现
这一部分的实现仅仅是构造生成并且能够打印,下面是代码:class String{public: String(const char* str = "") { if (nullptr == str) { str = ""; } _str = new char[strlen(str) + 1]; strcpy(_str, str); } String(co...原创 2018-11-27 20:37:03 · 158 阅读 · 0 评论 -
C++中的继承
·继承的概念和定义·继承的概念继承 是面向对象软件技术当中的一个概念,与多态、封装共为面向对象的三个基本特征。 继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。继承是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称为派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认识过程。...原创 2019-01-25 19:10:31 · 156 阅读 · 0 评论 -
解决C++中cout无法显示中文的问题
·问题最近win10更新之后,控制台上的中文显示为???查阅了一下发现编码并没有问题,高级保存选项和控制台的编码选项都是GB2312,尝试了很多之后发现控制台还原旧版可以解决问题。控制台打开——》右击——》属性——》使用旧版控制台——》重启就可以了。 ...原创 2019-01-26 13:00:42 · 12815 阅读 · 10 评论 -
C++中的多态
·多态的概念多态(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。多态性是允许你将父对象设置成为一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。——百度百科说的通俗一点,多态就是多种形态,当不同的对象去完成同一个行为时会产生不同的状态。比如我们去一些商店,普通顾客不打折,学生...原创 2019-01-26 20:54:14 · 201 阅读 · 0 评论 -
String类的使用和模拟实现
直接上代码啦:#include<iostream>#include<string>#include<assert.h>using namespace std;//----------------------String类------------------//void TestString(string s)//{// // cout...原创 2019-01-27 19:48:34 · 185 阅读 · 0 评论 -
TextSimilarity-文本查重
·TextSimilarity.h#pragma once#include <cppjieba/jieba.hpp>#include <unordered_map>#include <string>#include <unordered_set>#include<windows.h>#include<fstream...原创 2019-02-21 14:55:32 · 1749 阅读 · 4 评论 -
git push出现ERROR: Repository not found的解决
·问题git push时候出现的无法找到远程仓库的错误,git commit其他的都没有问题。网上的方法大多数关于更改sshd的权限或者删除host,试过以后发现都没有用。其实只需要重新提交地址就可以解决,运行如下命令:git remote set-url origin git@github.com:<仓库地址>...原创 2019-07-11 11:31:45 · 7582 阅读 · 1 评论