C++
文章平均质量分 90
Hansionz
但愿一切
展开
-
C语言中几个面试常见的关键字
①const关键字★在C语言中,const修饰一个标识符的时候,这个标识符依然是个变量,但是这个变量不能被直接修改,所以它具有常属性。请看下面的例子:#include<stdio.h>int main(){ int num1 = 0; const num2 = 0; num1 = 10; num2 = 10; return 0;}//n...原创 2018-04-06 15:11:40 · 437 阅读 · 0 评论 -
【C++】STL之list学习
list学习总结一. list是什么?1.list概述2.list相对其他容器的优缺点3.list的数据结构二.list的使用(常见使用接口)1.list的常见构造函数2.list常见的iterator2.1 常见接口2.2 迭代器在list的位置2.3 iterator的使用3.list的size和empty接口4.list获取数据元素(front&amp;&amp;back)5.list的增删...原创 2018-11-25 22:59:12 · 305 阅读 · 0 评论 -
C++的IO流
C++的IO流1.回忆C语言的IO流1.回忆C语言的IO流原创 2018-12-26 15:22:21 · 550 阅读 · 0 评论 -
【C++】类模板的特化及类型萃取
关于C++模板的初阶学习总结于我的另一篇博客:https://blog.csdn.net/hansionz/article/details/83827329模板的初阶和类型萃取原创 2018-12-25 16:18:30 · 1108 阅读 · 0 评论 -
【C++】:异常处理
C++的异常1.C语言处理错误的方式2. C++的异常处理1.C语言处理错误的方式终止程序。例如:assert,断言为假则终止进程返回错误码。程序员自己去查找错误码对应的错误信息,使用广泛C 标准库中setjmp和longjmp组合2. C++的异常处理异常是一种处理错误的方式,当一个函数发现自己无法处理的错误时就可以抛出异常,让函数的直接或间接的调用者处理这个错误。throw...原创 2019-01-06 17:35:21 · 449 阅读 · 0 评论 -
【C++】:面向对象三大特性之继承
面向对象三大特性之继承1.继承的概念及定义1.继承的概念及定义继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构, 体现了由简单到复杂的认知过程。面向过程中的复用都是函数复用,继承是类设计层次的复用。class Person{public:...原创 2019-01-02 12:46:22 · 257 阅读 · 2 评论 -
【C++】:面向对象三大特性之多态
面向对象三大特性之多态原创 2019-01-02 22:07:15 · 1147 阅读 · 0 评论 -
【C++】:智能指针详解
C++智能指针前言:本篇博客介绍C++中的四个智能指针auto_ptr、shared_ptr、weak_ptr、 unique_ptr。其中,auto_ptr存在很大的缺陷,被C++11。我们为什么要使用智能指针呢?C++的内存管理是让很多事都需要程序员自己去处理,例如:当我们写一个new语句时,就一定要存在对应的delete语句去释放资源,但是我们不能避免程序还未执行到delete时就跳转...原创 2019-01-13 16:56:44 · 940 阅读 · 0 评论 -
基于UDP和环形队列实现的多人聊天室
畅聊系统1.多人聊天系统功能简介2.项目使用的第三方库3.多人聊天系统的原理图4.服务器维护的在线列表5.使用ncurses库绘制客户端6.序列化和反序列化7.客户端退出问题8.项目存在的问题9.项目扩展8.项目源码1.多人聊天系统功能简介多人聊天系统从名字就可卡出它的功能是支持多个人一起聊天,相当于qq的群聊功能。下边是该系统的主要工作流程:一个客户端将消息发送到网络中。服务器中存在两...原创 2019-02-04 22:34:46 · 849 阅读 · 0 评论 -
实现一个高并发的内存池
高并发内存池1.什么是内存池1.1 池化技术1.2 关于内存池2.内存碎片问题2.1 内碎片2.2 外碎片3.为什么要使用内存池4.三种内存池的演变4.1 最简单的内存分配器4.2 定长内存分配器4.3 Hash映射的多种定长内存分配器5.了解malloc底层原理6. 实现高并发的内存池6.1 高并发内存池设计6.2 设计ThreadCache类6.3 自由链表大小设计(对齐规则)6.4 Cent...原创 2019-02-23 12:03:27 · 4817 阅读 · 11 评论 -
C++的vector学习总结及模拟实现
C++的vector学习及模拟实现一.vector的介绍及使用1.什么是vector2.使用vector2.1 vector常见的构造函数2.2 vector的迭代器(iterator)2.3 vector空间增长常见接口一.vector的介绍及使用1.什么是vectorvector是表示可变大小数组的序列容器,相当于一个动态的顺序表vector也采用的连续存储空间来存储元素。可以采...原创 2018-11-21 14:36:12 · 407 阅读 · 0 评论 -
C++实现日期类Date
C++实现日期类1.类的定义#pragma once#include&lt;iostream&gt;#include&lt;stdio.h&gt;using namespace std;class Date{public: //全缺省构造器 Date(int year = 1900, int month = 1, int day = 1); //拷贝构造 Date(co...原创 2018-11-14 23:32:41 · 631 阅读 · 0 评论 -
浅谈编译原理
一个源文件到可执行文件这中间编译器到底做了什么呢?请看下面:一个源文件(.c)在编译器经过编译和链接两个大的过程而生成可执行文件(.exe),而编译又分为分为三个阶段:预处理(预编译)、编译、汇编,这是一个翻译的过程。而可执行文件生成在运行环境可以直接运行。下面是程序编译的过程。●组成一个程序的每一个源文件通过编译过程生成目标代码。●每个目标文件由连接器捆绑在一起,形成一个单...原创 2018-04-24 21:32:15 · 2527 阅读 · 1 评论 -
C++入门学习笔记(关键字、命名空间、输入和输出、缺省参数、函数重载、引用、内联函数)
C++入门学习一.关键字二.命名空间1.使用命名空间的目的2.命名空间的定义3.命名空间的使用三.C++的输入和输出1.C++的第一个hello world程序2.输入/输出说明四.缺省参数1.缺省参数概念2.缺省参数分类3.一些要注意的地方五.函数重载1.函数重载概念2.名字修饰(name Mangling)3.extern “C六.引用七.内联函数一.关键字写代码:关键字–&amp;amp;amp;amp;gt;语句–&amp;amp;amp;amp;...原创 2018-10-14 22:03:14 · 679 阅读 · 0 评论 -
类和对象学习笔记(2)-类的6个默认成员函数
前言:上一遍博客类和对象学习笔记(1)是对类和对象的初步学习,本篇博客继续对C++中的类和对象的概念及用法进行深入学习。类和对象学习笔记1.类的6个默认成员函数2.构造函数a.构造函数概念b.构造函数的作用是什么?c.构造函数的特性1.类的6个默认成员函数一个类中如果什么都没有,可以把它称作空类。class A1{}但是不管是空类还是非空类,每个类中总有默认的6个成员函数:构造函数...原创 2018-10-28 20:29:17 · 213 阅读 · 2 评论 -
C++类和对象学习笔记(3)
C++类和对象学习笔记(1):https://blog.csdn.net/hansionz/article/details/83349759C++类和对象学习笔记(2):https://blog.csdn.net/hansionz/article/details/83411374类和对象学习笔记1.初始化列表a.构造函数体赋值b.初始化列表2.构造函数作用2.友元a.友元函数b.友元类c....原创 2018-10-28 21:30:45 · 365 阅读 · 0 评论 -
C++类与对象学习笔记(1)--访问限定符、作用域、对象的大小、this指针、封装
@TOCC语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。1.类和对象的概念类是对一组性质相同的事物的描述,包括事物的属性和方法,对象是类的一个实例。例如,老师是一个类,C++老师就是老师类的一个对象2.封装的理解面向对象的三大特性:封装、继承、多态1.封装是面向...原创 2018-10-24 22:58:18 · 665 阅读 · 0 评论 -
模板与泛型编程
C++模板学习笔记一.模板1.什么是模板?a.函数模板1.函数模板使用格式2.函数模板的原理3. 函数模板的实例化4.模板参数的匹配原则b.类模板1.类模板的定义2.类模板的实例化二.泛型编程1.什么是泛型编程?一.模板1.什么是模板?函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本。a.函数模板1.函数模板使用格式//typena...原创 2018-11-07 19:43:30 · 554 阅读 · 2 评论 -
C++的string学习总结
C++的string学习总结一.标准库的string类1.string类是什么?2.string类常用接口总结a.string类对象的常见构造函数b.string类对象常用的容量操作c.string类对象的访问操作d.string类对象常见的修改操作一.标准库的string类1.string类是什么?string是表示字符串的字符串类string类的接口与常规容器的接口基本相同,在添加一...原创 2018-11-13 08:44:49 · 6905 阅读 · 0 评论 -
C++实现单例模式
C++实现单例模式1.什么是单例模式?一个类只能创建一个对象,即单例模式,该模式可以保证系统中该类只有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。 比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息,这种方式简化了在复杂环境下的配置管理。2.单例模式的两种实现模式2...原创 2018-11-05 18:17:36 · 954 阅读 · 0 评论 -
C++内存管理学习笔记
C++内存管理学习笔记一.内存分布二.回顾C语言中的动态内存管理三.C++中的内存管理四.operator new和operator delete函数五.定位new表达式(placement-new)六.常见面试题总结七.单例模式1.什么是单例模式?2.单例模式的实现a.饿汉模式b.懒汉模式一.内存分布二.回顾C语言中的动态内存管理三.C++中的内存管理四.operator new和ope...原创 2018-11-05 22:52:20 · 329 阅读 · 0 评论 -
【设计模式】:工厂模式详解(C++)
1.相关概念设计模式:设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。耦合:耦合关系是指某两个事物之间如果存在一种相互作用、相互影响的关系,那么这种关系就称"耦合关系"。耦合高...原创 2019-04-26 19:24:51 · 1352 阅读 · 1 评论