C++
文章平均质量分 89
Gzmy
这个作者很懒,什么都没留下…
展开
-
C++类与对象
类与对象的初步认识初识类C语言是面向过程的,注重的是求解问题的步骤,通过函数调用之间逐步解决,C++基于C语言的,但是C++却是基于面向对象的,所以C++关注的是对象,将同一事件拆分成不同的对象,靠对象之间的联系来解决问题。类(Class)是面向对象程序设计(OOP,Object-Oriented Programming)实现信息封装的基础。类是一种用户定义类型,也称类类型。每个类包含数据...原创 2018-11-21 16:25:20 · 658 阅读 · 3 评论 -
迷你搜索引擎
这几天在思考如何对项目做出扩展,当一个网站访问量上升之后随之而来的便是用户的大量交流,根据现在主流的交流方式来看,一般都是一个用户先进行发帖,然后其他用户在下面对之评论,评论系统暂且搁置一边不谈,现在有一个问题就是当帖子数量越来越多,如何快速找到与关键词相对应的帖子,使用关键字在数据库中遍历不太现实,但其实仔细想想搜索引擎不就是做这个的吗,于是就想着实现一个简单的搜索引擎。要实现一个简单的搜索引...原创 2019-05-14 16:54:14 · 1911 阅读 · 0 评论 -
STL-空间配置器
在学习C++的过程中STL扮演了一个非常重要角色,STL中六大组件,容器,仿函数,迭代器,适配器,算法,空间配置器。我们最容易忽略的就是空间配置器STL中空间配置器是为了各个容器高效的管理空间,在使用容器中感觉不到他的存在,但是学习他的原理是非常有必要的为什么需要空间配置器?在C/C++中程序员要申请空间通过malloc从堆上申请空间,这样频繁操作会有一些大的问题产生空间的申请与释放...原创 2019-04-20 14:32:25 · 277 阅读 · 0 评论 -
C++智能指针
什么是智能指针?在C/C++程序中, 经常会涉及到一些对内存方面的管理, 但是由于工程较大, 程序员忘了对申请的内存进行释放, 就不可避免的会造成内存泄露问题, 为了解决这种问题, C++提出智能指针的概念智能指针的核心思想就是用对象的声明周期来管理内存资源, 当对象构造时获取资源, 最后在析构时释放资源, 即RAII将内存资源交给对象来处理, 不需要显式释放资源, 采用这种方式, 对象所...原创 2019-04-01 16:59:28 · 95 阅读 · 0 评论 -
项目:C++在线测评系统
项目思路之前写过一个基于http的在线编译器,可以完成代码的编译过程,但是在leetcode上刷题的时候忽然想到在线OJ不就是一个功能更强大的在线编译器吗?在基础的编译功能上加上了题目列表页的展示,每个题目都有对应的序号,名称以及描述,于是想着能不能自己对这个项目再进行进一步的扩充要实现一个简易的在线OJ,有几个大的模块需要去实现,最主要的是在线编译,编译功能可以在服务器上使用子进程进程替换使...原创 2019-03-13 18:21:44 · 4421 阅读 · 0 评论 -
C++连接Mysql查询结果中文乱码问题
在写项目时需要用到mysql数据库,使用select查询时查询结果中文全部变为问号,但是在Sql中查询结果正常,解决方案:MYSQL *my_fd = mysql_init(NULL);...msyql_query(my_fd, "set names utf8"); //添加之后查询结果正确...mysql_close(my_fd);...原创 2019-03-01 18:35:58 · 2330 阅读 · 3 评论 -
C++中的单例模式
C++的单例模式概念 单例模式是一种常用的软件设计模式。它的核心结构只包含一个被称为单例的特殊类。 它的目的是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有的程序模块共享。应用场景在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置文件由一个单例对象统一读取,服务器进程中的其他对象通过这个单例对象获取这些配置信息。实现方式饿汉模式:不...原创 2019-01-09 13:03:15 · 1592 阅读 · 0 评论 -
C++中的多态
C++多态什么是多态多态的定义及实现抽象类C++关键字override 和 finalC++多态原理探究:包含虚函数类的大小探究:C++多态实现的原理静态绑定与动态绑定虚函数真的需要重写吗什么是多态通俗来说,多态就是同一个事物在不同场景下表现出来不同的状态在C++中,多态体现为同一个类派生出来的对象去调用同一函数时产生了不同的行为多态的定义及实现在继承中构成多态的两个前提条件1、调...原创 2019-01-11 18:15:39 · 547 阅读 · 0 评论 -
C++中的继承
C++中继承何为继承继承定义格式三种继承方式与三种类访问限定符的关系继承中派生类的对象模型基类和派生类对象赋值转换继承中的作用域派生类的默认成员函数多级继承菱形继承虚拟继承菱形虚拟继承何为继承仔细想想继承在生活中无处不在,孩子可以通过父类继承父类拥有的财产以及事物。在C++中,继承是面向对象的一种设计方法,是代码服用的最重要的手段,继承允许在保持原有类的基础上进行扩展,增加新功能。在继承...原创 2019-01-11 14:14:24 · 164 阅读 · 1 评论 -
C/C++动态内存管理
C/C++动态内存管理C/C++动态内存管理C/C++程序内存分布C语言动态内存管理方式malloccallocreallocC++动态内存管理方式new/delete操作内置类型new/delete操作自定义类型operator new和operator deletenew typename[]和delete[]定位new表达式new/delete和malloc/free的区别面试题C/C++...原创 2018-12-10 15:59:47 · 209 阅读 · 0 评论 -
C++中的深浅拷贝以及string类的简单实现
C++中的深浅拷贝以及string类的模拟实现深浅拷贝浅拷贝深拷贝写时拷贝string类的简单实现深浅拷贝浅拷贝浅拷贝也叫做位拷贝,实例化新对象调用拷贝构造函数时只是把原对象中的数据原封不动的拷贝一份放在新的对象中,这在没有涉及到资源管理的类中是没有问题的。我们可以先来看一个日期类class Date{friend ostream& operator<<(ostr...原创 2018-12-07 17:13:53 · 180 阅读 · 0 评论 -
C++引用及C11的一些关键字
C++引用及C11的一些关键字引用引用概念引用特性const常引用引用与指针内联函数宏与宏函数C++11的一些关键字autoauto的使用C++11新式for循环指针控制nullptr引用引用概念 引用不是定义一个新的变量,而是给已知的变量取一个别名,定义一个引用变量之后,编译器并不会在内部为它开辟内存,而是和其引用变量共用一块内存空间。 类型& 引用变量 = 引用实体;引用特...原创 2018-11-19 15:30:15 · 693 阅读 · 0 评论 -
LRU算法的C++实现
LRU算法是虚拟内存页面换出的一种经常使用的算法,虽然我们经常都说LRU算法,但是底层实现的细节我们并不知道,这里用C++模拟实现LRU算法使用getPage模拟访问某个页面,使用setPage模拟页面的换入换出class LRUCache {private: struct Node { int key; int val; Node(int key_, int val_) ...原创 2019-05-12 23:24:23 · 2023 阅读 · 0 评论