C++程序设计
收录C++程序设计基础概念、疑难点分析、典型例题源码、经典算法分析等
优惠券已抵扣
余额抵扣
还需支付
¥39.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
ZY-JIMMY
求知若渴,虚心若愚
展开
-
2020校招复盘——秋招不易,致敬每一位追梦者(含网易、京东等19家互联网公司后台/Server端面经)
秋招经历、秋招心得、C++后台/Server端方向校招准备、面经整理、面经题库原创 2019-10-18 16:28:04 · 30742 阅读 · 75 评论 -
C/C++后端-服务端开发技术博文分类汇总
C/C++后端/服务端开发技术博文分类汇总:C语言基础、C++基础、算法与数据结构、Linux操作系统(网络)、数据库原理、设计模式、Git原创 2019-10-24 10:24:17 · 44449 阅读 · 34 评论 -
浅析malloc的底层实现原理(ptmalloc)
内存布局、brk(sbrk)与mmap函数、内存管理的一般方法、ptmalloc简介、内存管理数据结构概述、内存分配、回收概述原创 2019-05-30 19:48:54 · 4198 阅读 · 2 评论 -
Muduo网络库源码剖析 | 事件循环线程EventLoopThread和EventLoopThreadPool类
文章目录原创 2019-10-16 20:00:08 · 1179 阅读 · 0 评论 -
Muduo网络库源码剖析 | 线程池 ThreadPool的设计与实现
文章目录原创 2019-10-16 19:59:48 · 1196 阅读 · 0 评论 -
Muduo网络库整体架构与分阶段解析
文章目录Muduo网络库的Reactor模式整体框架说明Muduo是一个基于Reactor模式的C++网络库。它采用非阻塞I/O模型,采用one loop per thread + thread pool架构实现,基于事件驱动和回调。我们不仅可以通过Muduo来学习linux服务端多线程编程,其采用的现代C++编程技术也是非常值得借鉴的。Muduo网络库的Reactor模式Reactor...原创 2019-10-16 19:59:11 · 1301 阅读 · 0 评论 -
C++ STL顺序容器 —— deque底层实现原理剖析
概述、deque的中控器、迭代器、数据结构、构造与内存管理、元素操作原创 2019-05-03 21:18:16 · 4495 阅读 · 0 评论 -
C++ STL顺序容器 —— vector的底层原理解析及实现
vector的数据结构、构造与析构、插入与删除、其他操作、简单实现原创 2019-05-03 01:07:56 · 6720 阅读 · 0 评论 -
简述C++四种强制类型转换机制
C++四种强制类型转换:dynamic_cast运算符、const_cast运算符、static_cast运算符、reinterpret_cast运算符原创 2019-05-02 22:47:47 · 1252 阅读 · 0 评论 -
C++ STL泛型算法 —— unique()去重函数解析
unique()函数概述、函数原型、源码剖析、去重原理剖析、使用总结原创 2019-04-29 01:53:04 · 1243 阅读 · 1 评论 -
C++继承详解(二):派生类的构造与析构,理解函数的重载、隐藏与覆盖
派生类的构造函数、派生类的析构函数、函数的重载、隐藏与覆盖原创 2019-04-21 05:07:43 · 1664 阅读 · 0 评论 -
深入理解C++静态联编、动态联编与虚函数底层原理、RTTI 机制
静态联编和动态联编、虚函数和动态联编、虚函数的工作原理、有关虚函数的注意事项RTTI 运行时类型识别原创 2019-04-21 05:07:38 · 5131 阅读 · 3 评论 -
C++继承详解(一):继承基础、访问限定和赋值兼容规则的理解
继承的基本概念、单继承、多继承、C++继承的访问限定、友元函数、静态成员函数的继承、赋值兼容性规则原创 2019-04-21 05:07:29 · 1425 阅读 · 0 评论 -
C++实现数字化婚姻配对尝试问题( 100组 200ms )
问题描述、设计思路、核心代码、完整实现原创 2019-04-21 05:07:17 · 2452 阅读 · 0 评论 -
C++对象池自动回收技术实现(重载new和delete运算符)
对象池模型适用的场景、效果、实现重载new和delete运算符实现对象池自动回收技术原创 2019-04-21 05:06:52 · 1663 阅读 · 0 评论 -
SGI STL空间配置器(allocator)设计原理与源码剖析(二)
一级空间配置器 _ _malloc_alloc_template剖析、二级空间配置器 _ _default_alloc_template剖析、空间配置函数allocate()、空间释放函数deallocate()、重新填充free lists、内存池(memory pool)原创 2019-04-16 00:39:08 · 823 阅读 · 0 评论 -
SGI STL空间配置器(allocator)设计原理与源码剖析(一)
概述、SGI标准的空间配置器:std::allocator、SGI特殊空间配置器:std::alloc、构造和析构基本工具:construct() 和 destroy()、空间的配置与释放:std::alloc、一、二级空间配置器简述原创 2019-04-15 19:51:03 · 1136 阅读 · 0 评论 -
C++海量数据处理(二):布隆过滤器(Bloom Filter)详解
实例、Bloom Filter算法描述、Bloom Filter参数选择原创 2019-04-14 20:23:16 · 1521 阅读 · 0 评论 -
C++海量数据处理(一): 查重 与 top K问题的分析与实现
查重问题分析与实现、如何设计大量数据的查重和去重、程序示例、top K问题分析与实现、预备知识、问题分析和解决方法、程序示例、查重+topK 综合应用、海量数据处理典型题目、海量数据处理面试题集锦原创 2019-04-15 05:01:54 · 2343 阅读 · 0 评论 -
C++实现大数加减乘除四则运算(基于STL)
题目描述、大数加法的分析与实现、优化版本一:合并判断代码、优化版本二:针对源操作数为负数、大数减法的分析与实现、优化版本:针对源操作数为负数、大数乘法的分析与实现、大数除法的分析与实现原创 2019-04-15 02:53:40 · 4697 阅读 · 5 评论 -
C++并发编程 | 利用CAS实现无锁数据结构(栈、队列和链表)
CAS的基本原理、实现无锁栈、实现无锁队列、实现无锁链表原创 2019-04-12 04:56:45 · 3804 阅读 · 0 评论 -
C++并发编程 | CAS的基本原理剖析(无锁编程、无锁数据结构)
关于volatile、CAS的基本原理、CAS的结构、原子操作、自旋锁、ABA问题、CAS的不同实现版本、CAS与普通锁的区别、CAS的优缺点、无锁编程、基于CAS的无锁并发队列原理、解决ABA问题、基于CAS实现无锁并发栈原理原创 2019-04-12 04:58:29 · 6261 阅读 · 1 评论 -
使用 VS 2019 编写和调试 Linux C/C++程序
环境要求、创建新项目、配置连接器、Linux安装远程调试、编写并调试Linux程序、编写Linux多线程程序原创 2019-04-05 17:59:24 · 34247 阅读 · 13 评论 -
C++11 lambda表达式与函数对象
Lambda表达式、为何使用lambda、函数对象原创 2019-04-02 02:37:03 · 1326 阅读 · 0 评论 -
详解C++11 右值引用、转移语义和完美转发
文章目录右值引用左值与右值右值引用及其作用分析右值引用的绑定规则转移语义实现转移构造函数和转移赋值函数标准库函数 std::move完美转发标准库函数std::forward右值引用首先我们先来看一下传统的左值引用。int main(){ int a = 10; int &b = a; // 定义一个左值引用变量 b = 20; // 通过左值引用修改引用内存的值 retu...原创 2019-04-01 03:31:05 · 2226 阅读 · 1 评论 -
深入剖析C++智能指针
文章目录智能指针的引入理解智能指针的原理浅谈智能指针RALL 与 引用计数智能指针的简单实现智能指针的设计原理和实现不带引用计数的智能指针auto_ptr源码剖析scoped_ptr源码剖析unique_ptr源码剖析带引用计数的智能指针share_ptrweak_ptr智能指针的引入裸指针存在的问题:使用new开辟堆内存却忘记delete内存资源,造成内存泄漏问题,即申请堆内存后忘记释放...原创 2019-03-31 02:42:18 · 3360 阅读 · 3 评论 -
C++ | STL之顺序容器、关联容器、容器适配器
文章目录STL简述STL六大组件顺序容器(序列式容器)vectordequelist关联容器容器适配器STL简述STL是Standard TemplateLibrary的简称,中文名标准模板库,从根本上说,STL是一些“容器”的集合,这些“容器”有list、vector、set、map等,STL也是算法和其他一些组件的集合。STL的目的是标准化组件,这样就不用重新开发,可以使用现成的组件。...原创 2019-03-23 23:42:51 · 1974 阅读 · 0 评论 -
C++ | 迭代器、顺序容器及容器的空间配置器
迭代器迭代器的基本概念迭代器是一种检查容器内元素并遍历元素的数据类型。C++更趋向于使用迭代器而不是下标操作,因为标准库为每一种标准容器(如vector)定义了一种迭代器类型,而只用少数容器(如vector)支持下标操作访问容器元素。程序示例:实现CString类的空间配置器CString类源码:https://blog.csdn.net/ZYZMZM_/article/details/8...原创 2019-03-15 23:07:15 · 1239 阅读 · 0 评论 -
C++ | 运算符重载
运算符重载C++中预定义的运算符的操作对象只能是基本数据类型。但实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作。这时就必须在C++中重新定义这些运算符,赋予已有运算符新的功能,使它能够用于特定类型执行特定的操作。 运算符重载的实质是函数重载,它提供了C++的可扩展性,也是C++最吸引人的特性之一。运算符重载是通过创建运算符函数实现的,运算符函数定义了重载的运算符将要进行的操作。...原创 2019-03-14 11:26:05 · 1250 阅读 · 0 评论 -
【C++设计模式】Singleton 单例设计模式与线程安全
何为设计模式(Design Pattern)设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。设计模式代表了最佳的实践,是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。单例模式(Singleton)什么是单例...原创 2019-03-12 09:45:10 · 2430 阅读 · 1 评论 -
C++ | 模板详解
文章目录模板的基本概念概述什么是模板什么是函数模板什么是类模板模板的实例化模板的参数列表模板类型参数模板非类型参数模板的特例化(特化/专用化)函数模板类模板模板的基本概念概述问题:怎么理解C++里边的多态? 静态的多态(编译时期的多态):函数重载,模板 动态的多态(运行时期的多态):继承中的虚函数模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模...原创 2019-03-10 00:31:37 · 1824 阅读 · 0 评论 -
C++ | 类成员方法的简单总结
文章目录普通成员方法static静态成员方法const常成员方法static 和 const 的区别类成员方法的简单总结例题分析普通成员方法属于类的作用域调用必须依赖对象可以任意访问自己其它private私有成员static静态成员方法属于类的作用域调用必须依赖类的作用域可以任意访问自己其它private静态私有成员类的静态成员变量必须在类外进行初始化==========...原创 2019-03-09 20:55:40 · 1665 阅读 · 0 评论 -
C/C++ 中 const 关键字用法总结
首先,来看看const的基本含义。在 C/C++ 语言中,const关键字是一种修饰符。所谓“修饰符”,就是在编译器进行编译的过程中,给编译器一些“要求”或“提示”,但修饰符本身,并不产生任何实际代码。就 const 修饰符而言,它用来告诉编译器,被修饰的这些东西,具有只读的特点。在编译的过程中,一旦我们的代码试图去改变这些东西,编译器就应该给出错误提示。所以,const修饰符的作用主要是利用编...原创 2019-02-25 22:18:16 · 1380 阅读 · 0 评论 -
C++ | 对象的生命周期及其程序优化
1.函数调用传对象时,按对象引用来传递,会少两个函数2.函数返回对象的时候,应该返回一个临时对象,不要先定义,再返回3.调用返回对象的函数时,应该以初始化的方式调用,不要以赋值的方式调用#include <iostream>using namespace std;class Test{public: Test(int data = 100) : ma(data) {...原创 2019-02-25 00:27:19 · 1071 阅读 · 0 评论 -
C++ | 拷贝构造函数 与 赋值运算符
文章目录引言拷贝构造函数和赋值运算符区别拷贝构造函数何时调用拷贝构造函数默认拷贝构造函数的功能定义一个显式拷贝构造函数以解决问题赋值运算符赋值运算符的功能及何时使用它解决赋值的问题在构造函数中使用new时应注意的事项引言本文主要介绍了拷贝构造函数和赋值运算符的区别,简单的分析了深拷贝和浅拷贝的问题,以及在什么时候调用拷贝构造函数、什么情况下调用赋值运算符。最后,总结了在构造函数中使用new时应...原创 2019-02-24 23:48:37 · 1950 阅读 · 0 评论 -
C++ | 类与对象基础
文章目录过程性编程和面向对象编程两种思想的对比面向过程和面向对象的本质理解面向过程与面向对象的优缺点如何理解OOP抽象封装和数据隐藏继承多态类的概念什么是类类的三大特性类与结构体的区别C和C++中结构体的区别C++的结构体和C++类的区别类的构造函数和析构函数构造函数默认构造函数带参构造函数拷贝构造函数 与 赋值构造函数类构造函数初始化列表易错程序示例:this指针什么是this指针?示例this...原创 2019-02-23 22:23:24 · 1853 阅读 · 0 评论