C++
文章平均质量分 89
zy2317878
博观约取,厚积薄发,温故知新!
展开
-
C++——std::Vector
写在前面:写这篇博客的缘由是我开始通过LeetCode刷题来训练我学习C++的计划时,最开始选择的题目类别是数组题。那么自然而言要涉及到C++中STL(标准库)的Vector容器了。其实在做题过程中我还涉及到诸如Set、Map等的容器,那么我会在后续的学习中,通过博文的形式记录一下学习历程。这将是我首次系统的重新学习Vector容器。之前有通过刷华为OJ的题积累过Vector的相关用法,但...原创 2017-12-04 15:33:47 · 5984 阅读 · 0 评论 -
C++——限定符const
写在前面这一篇博客总结一下我对于C++中const限定符的理解。由于我学习年限不长,所以不能添加很多自己实际经验的理解,所以这篇博客主要是自己查阅网上的一些资料,对资料进行整合、分类、理解,然后整理的一篇博客。一方面能帮助自己更好的理解这个灵活的限定符,另一方面提供一些自己的简单的理解。还望多多批评指正。参考文献:C++ 中的 const 详解《C++ Primer 中文版》关于...原创 2018-06-12 21:32:35 · 1059 阅读 · 0 评论 -
C++——模板与特化
写在前面关于模板之前就有所了解,但是一直没有系统整理,而且对特化印象不深,所以借此机会,系统的学习一下模板与特化的相关知识,还望大家多多批评指教。参考文献:函数模板和类模板 模版特化C++模板的特化详解(函数模版特殊,类模版特化)C++模板的偏特化与全特化重学C++ (十二) 模板特化和偏特化C++类模板的三种特化C++ 模板的特化与偏特化模板显式、隐式实例化和(偏)特化...原创 2018-06-13 15:15:58 · 943 阅读 · 0 评论 -
C++——std::Priority_queue
写在前面这一部分学习一下优先级队列这样一种STL容器。priority_ queue 优先级队列是一个拥有权值概念的单向队列queue,在这个队列中,所有元素是按优先级排列的(也可以认为queue是个按进入队列的先后做为优先级的优先级队列——先进入队列的元素优先权要高于后进入队列的元素)。在计算机操作系统中,优先级队列的使用是相当频繁的,进线程调度都会用到。在STL的具体实现中,priorit...原创 2018-06-06 19:04:42 · 1317 阅读 · 0 评论 -
C++——g++常用命令
写在前面学习C++自然是要多尝试写写代码,但如果每次都用Visual Studio打开太费事,就学着用g++这个编译器,主要是很快很方便啊。这篇博客就整理一下g++常用命令。参考文献g++命令行详解gcc/g++基本命令简介g++编译过程gcc and g++分别是gnu的c & c++编译器。g++是c++的命令,以.cpp为主,对于c语言后缀名一般为.c。...原创 2018-06-21 15:29:23 · 5164 阅读 · 0 评论 -
C++——gcc/g++编译的四个过程
写在前面在前一篇文章中:C++——g++常用命令,提及过g++编译器的编译程序的四个过程,g++可以看到程序从编译到运行的过程做了些什么。而VS等集成开发环境看不到这些。所以作为一名程序员初学者,还是很有必要静下心来学习这部分的内容的。参考文献C++ —— C++程序编译的四个过程gcc/g++ 实战之编译的四个过程GCC编译的四个阶段gcc编译四个阶段步骤C语言编译过程...原创 2018-06-22 13:58:03 · 958 阅读 · 0 评论 -
C++——回调函数
写在前面这里学习一下回调函数,主要也是参考网上的资料做一个简单的整理。参考文献:C++回调函数的一点理解C++ 使用回调函数的方式 和 作用。 持续更新示例代码#include <iostream>using namespace std;typedef void (*Func)(int);Func p = NULL;void caller(F...原创 2018-07-10 11:31:21 · 822 阅读 · 0 评论 -
C++——友元(friend)
写在前面这一篇博客简单的记录一下我对于友元的理解。友元可以是个函数,就称为友元函数,也可以是一个类,就称为友元类。类,(这个我还没有专门整理),具有封装信息与提供结构的特性。public可以为外部提供调用接口,private则隐藏与类相关的数据方法等,起到抽象对象的作用。所以,只有内的成员函数才能访问类的私有成员,程序中其他的函数是无法访问私有成员变量的,但是能够访问类中的公有变量或者函数。...原创 2018-07-11 17:18:28 · 535 阅读 · 0 评论 -
C++——虚函数(virtual)
写在前面这一篇博客记录一下自己理解的虚函数的相关内容。虚函数在刚开始学习C++的时候并不理解为什么需要这个东西?现在觉得要理解这个概念,需要对面向对象编程这个软件设计模式要有了解。学习C++不光要能理解语法特征,还要明白一些常用的软件设计模式。 这篇博客我也还是会结合一些网络上的资料,加上自己的理解阐述一下对虚函数的理解。参考资料c++ 深入理解虚函数C++ 虚函数表解析对于...原创 2018-07-20 16:13:54 · 404 阅读 · 0 评论 -
C++——std::Bitset
写在前面这一篇文章系统的学习一下std标准库中的容器bitset,一个bitset是用来储存诸多bit,这些元素可以用来表示两种状态:0或1,true或false…。所以有一些时候可以很方便的用该容器快速实现状态储存。该容器通过对空间的特殊优化,使得该容器对状态的储存空间非常小,相当于将若干状态储存在一个个bit上。该容器的元素访问也可以通过[n]访问容器中第n个元素,但是由于一般语言没有...原创 2018-04-25 19:28:54 · 10190 阅读 · 2 评论 -
C++——cmath
写在前面这个库就是简单的整理一下吧,主要包含了各种常用数学函数。简要整理一下。目前只会整理一下自己遇到的函数,所有的函数用法可以参考:< cmath > (math.h)。头文件包含#include <math.h> Trigonometric functions1.cos/* cos example */#include &l...原创 2018-05-03 15:45:02 · 7094 阅读 · 0 评论 -
C++——std::Map
写在前面:有一段时间没有继续进行C++容器的学习了。这次接着C++-std::Vector 的内容继续学习。通过之前的vector的学习,我发现虽然对该容器有一个比较全面的认识,但是很多细节还是不能注意好。比如在 LeetCode-406. Queue Reconstruction by Height 这道题中使用vector的insert函数,而我之前的方法由于没有把握好erase函数的使用...原创 2018-01-02 14:27:27 · 3839 阅读 · 0 评论 -
C++——std::String
写在前面这一篇博客系统学习一下C++中String类的相关函数。这个类在之前做题的时候就经常遇到,其实说白了,它也就是一个vector < char >。但是,它又有一些独特的函数,可以在做题的时候简化代码,提高效率。所以在这一篇博客,就根据CPlusPlus官网中< string >中的内容做一个整理。 自己整理之外,还有一些优秀的整理资料可供参考:std::str...原创 2018-01-14 13:54:23 · 90393 阅读 · 5 评论 -
C++——std::Set
写在前面:在写这篇博客之前吐个槽,其实也可不不用这么麻烦这么写博客。讲道理其实在书本上学这些知识应该挺快的。可以书上看一遍记个大概,然后做题的过程中,不断遇见各种小知识,这样分散的积累,然后一定规模后,就可以系统的整理。但是现在先花时间来做这件事,其实也可以,建立主体的框架,后面再慢慢细化丰富。也没必要想那么多,慢慢来。不管方法是什么,重要的是每天要做点事。那么这篇博客学习set容器。目前学习...原创 2018-01-05 15:18:12 · 2285 阅读 · 0 评论 -
C++——std::List
写在前面这一篇博客系统学习一下C++中List类的相关函数。之所以要学习这个类,是由于LeetCode中做到了Linked List类,虽然在LeetCode中并没有使用到List类的相关函数,而是主要利用链表的数据结构来完成一些内容,或者说,就是从基础的数据结构来实现接下来要学习的一些链表类的函数,比如:插入,删除结点等等。这篇博客的风格内容与之前博客并无两异,所以主要目的还是对List类的...原创 2018-01-25 17:32:59 · 5463 阅读 · 1 评论 -
C++——cctype
写在前面这篇博客主要来整理一下C++标准库中cctype中的主要函数。之所以要整理这个库,是因为 LeetCode-125. Valid Palindrome,这道题目中,如果知道这个库里的函数,那么就会轻松简单很多。该库主要是字符处理功能,这个头文件声明了一组函数来分类和变换单个字符。这个库中主要有两种函数:一类负责字符分类功能;一类负责字符转换功能。Character classi...原创 2018-03-01 16:19:03 · 6847 阅读 · 0 评论 -
C++—— Lambda表达式
写在前面这是对于C++11中新添加的Lambda表达式的学习总结,截至目前遇到过两次这样的题目。可参考:LeetCode-520. Detect Capital、LeetCode-406. Queue Reconstruction by Height、 LeetCode-155. Min Stack。利用Lambda表达式,可以方便的定义和创建匿名函数。对于C++这门语言来说来说,“Lam...原创 2018-03-03 21:17:33 · 471 阅读 · 0 评论 -
C++——运算符优先级
写在前面本来不打算总结这部分内容的,但是由于我在LeetCode-371. Sum of Two Integers 中犯了运算符的错误,所以特此整理一下,加强一下记忆。运算符的优先级与结合性此外要说一下,这个表格是参考了:运算符优先级 的。第一次直接使用HTML编辑表格。以后不要用CSDN的工具了。自己写代码就好。优先级 运算符 名称或含义 使用形式 结合方向 说明...原创 2018-03-30 20:10:01 · 2995 阅读 · 0 评论 -
C++——std::Stack
写在前面这一篇博客系统学习一下C++中stack这个容器。根据维基百科——堆栈解释:堆栈(英语:stack)又称为栈或堆叠,是计算机科学中一种特殊的串列形式的抽象资料型别,其特殊之处在于只能允许在链接串列或阵列的一端(称为堆叠顶端指标,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。另外栈也可以用一维数组或连结串列的形式来完成。堆叠的另外一个相对的操作方式称为...原创 2018-03-29 13:27:21 · 3934 阅读 · 0 评论 -
C++——算法题多种输入获取方法
写在前面这篇博客主要积累一下需要自己处理输入的算法题中常用的获取输入的方法。没有告诉输入多少行这种情况适用于题目没有告诉输入的确切的行数N,需要不断检测输入。例子如下:描述求两个整数A+B的和输入输入包含多组数据。每组数据包含两个整数A(1 ≤ A ≤ 100)和B(1 ≤ B ≤ 100)。输出对于每组数据输出A+B的和。样例输入1 23 4样例输出37...原创 2018-10-22 16:15:02 · 1272 阅读 · 0 评论