![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 97
积累记录
fighting_bang
这个作者很懒,什么都没留下…
展开
-
记录几个C++工程师的面试问题
前几天面试的时候有几个问题我没说清楚,周末又有点事情,还好还记得这几个问题,得记录一下。1. C++11的特性这个问题可能对于很多像我这样刚接触C++没多久,研究不深的朋友,恐怕是很难回答的,面试之前我也没有想起会问关于C++标准特性的问题,所以果断说我不太清楚。我以前接触新的概念的时候总是喜欢看别人的博文,但是这段时间我对这种学习方式有了更深的认识。或许看博文能让你直接能套用别人的实例,很快就解决当前需要解决的问题,但是对于你自学能力的提高,还是有一定的阻碍。别人的博文是从他的经验,还有资料,原创 2020-09-21 12:16:10 · 263 阅读 · 0 评论 -
C++ 多态的实例
这是我从书中摘录的觉得非常不错的实例。1. 基本知识1.1 多态的概念简单理解为:同一个接口,多种实现方式。对不同类的对象发出相同的消息的时候,会产生不同的行为。1.2 多态的作用(1)应用程序可以不必为每一个派生类编写功能调用,而只需要对抽象基类进行处理即可,实现代码的可重用;(2)派生类的功能可以被基类的方法或引用变量所调用,这称作向后兼容,2. 多态的实现多态分为动态多态、静态多态、函数多态和不太常见的宏多态,编程者的多态通常是指动态多态,是基于继承机制和虚函数实现的。原创 2020-09-14 12:13:27 · 2706 阅读 · 1 评论 -
程序的时间复杂度和空间复杂度的表示方法
一、时间复杂度时间复杂度的表示方式:大O表示法常见的时间复杂度表示公式:公式的正确读法:如O(log2),读作O log2的时间复杂度,这里的O指的它的复杂度是n的怎样一个函数。举例:时间复杂度曲线:如何计算递归的时间复杂度?示例:求斐波拉契数,使用递归求解、主定理:计算递归的方法面试常问题目:二、空间复杂度两个原则:实例:LeetCode爬楼梯题目...原创 2020-09-06 10:52:19 · 828 阅读 · 0 评论 -
C++ 哈希表与unordered_map
这篇博文只是将我最近学习的一些知识点串联起来的简单记录,旨在记录大体的方向,并不是详细的笔记。1. 基本问题之前在学C++的map(映射)这个知识点的时候,有过对map的简单介绍,后来又遇到了和map相关的一个问题,里面使用了unordered_map,所以在这里做一下相关的记录。C++标准库中使用的unordered_map底层实现是哈希表,关于哈希表的一些基础知识,我看了公众号代码随想录里面的推文:《关于哈希表,你该了解这些!》,有了基本的认识。哈希表是什么:哈希表是根据关键码的值而直接进.原创 2020-09-04 18:45:57 · 965 阅读 · 0 评论 -
[笔记] 编程入门的一些误区
一、缘由无意中看到了SchelleyYuki小姐姐的视频,对她在视频中提及的一些知识进行记录,在这里要感谢Schelley无私的分享,有兴趣的朋友可以看一下她的视频程序员小姐姐: 分享Java学习经验和Java教程, 解密初学Java的常见误区 | 编程入门。二、笔记尽管标题是Java学习相关的,但是Schelley在视频中所讲到的一些点对于编程也是通用的,所以不需要在意你学习的是什么语言。这里只是我个人的笔记,并不是视频的文字稿我也加上了我自己的一些理解,所以可能会和她本意有所出入,最好还是自原创 2020-08-16 17:36:18 · 731 阅读 · 0 评论 -
C++ Alan Kay对面向对象的解释
一、起源今天逛b站的时候无意中看到了SchelleyYuki小姐姐的视频,在这个视频里面Schelley小姐姐分享了java的学习经验和初学Java的常见误区(这个在下一篇博文会记录一下我看完视频之后做的笔记),其中提及到了Object-Oriented(面向对象)的提出者Alan Kay对这个概念的定义,当然啦Schelley在视频中也有自己的话解释了她关于面向对象的多态和封装的理解,有兴趣的朋友可以看一下她的视频程序员小姐姐: 分享Java学习经验和Java教程, 解密初学Java的常见误区 | 编原创 2020-08-16 17:02:19 · 431 阅读 · 0 评论 -
C++ 实现求两个数组的交集
最近发现了点好东西,小浩算法系列的文章都是精品,值得阅读学习,上一篇记录的map容器,其实就是在阅读了实现两个数组的交集的文章之后去填补的知识。一、简单实现这是原文的结题思路,也是为什么需要补充map知识点的原因,需要应用到map容器进行处理:首先拿到这道题,我们基本马上可以想到,此题可以看成是一道传统的映射题(map映射),为什么可以这样看呢,因为我们需找出两个数组的交集元素,同时应与两个数组中出现的次数一致。这样就导致了我们需要知道每个值出现的次数,所以映射关系就成了<元素,出现次数原创 2020-08-14 14:15:53 · 4784 阅读 · 0 评论 -
C++ map 映射的简单使用
一、基本介绍https://blog.csdn.net/aaakkk_1996/article/details/81639265https://www.cnblogs.com/rjgcs/p/5721873.html二、使用方法原创 2020-08-13 13:45:27 · 1201 阅读 · 0 评论 -
C++入门练习题[1]:KiKi定义电子日历类
最近在看C++入门的书籍,但是光看是不够的,需要一些练习将知识运用起来,牛客网上面有在线编程的题目,我选择了一些入门的题目作为练习。1、题目这道题的题目如下:2、解题 题目是非常简单的,但是因为只是看过了一遍知识点,没有动手实践,所以看起来很简单的东西,并没有想象中的掌握那么好。2.1 构造函数构造函数这个概念,我只记得它的名称和类的名称是相同的,看了一遍之前的笔记才想起来,构造函数的功能是在创建类对象的时候进行一些必要的操作。我用构造函数对三个int变量赋...原创 2020-07-07 22:39:54 · 356 阅读 · 1 评论 -
C++迭代器的简单使用
此文为阅读笔记,内容基本出自书中。1. 基本概念 使用下标访问对象的成员的最基本方法有三种:string对象的字符访问,vector对象的元素访问,迭代器。 迭代器类似于指针类型,也提供了对对象的间接访问。使用迭代器可以访问某个元素,也能从一个元素移动到另外一个元素。迭代器分为有效和无效,有效的迭代器或者指向某个元素,或者指向容器中尾元素的下一个位置,其他所有情况都属于无效。2. 使用迭代器 有迭代器的类型都拥有名为begin和end的成员,其中begin成员负责返回指...原创 2020-07-13 22:19:29 · 839 阅读 · 0 评论 -
C++的vector的使用
本文为学习C++的阅读、学习笔记,如有错漏请联系作者。1. 基本概念 vector是一个类模板,在C++中使用模板可以编写一个类定义或函数定义,而用于多种不同的数据类型。vector是同一种类型的对象的集合,由于可以包含其他对象的特性,所以也将vector称为容器。2. 使用方法 要使用vector类模板,需要添加头文件,并使用using声明:#include <vector>using std::vector; 关于使用using声明,避免在...原创 2020-07-15 14:38:54 · 14539 阅读 · 0 评论 -
libcurl带openssl文件的编译
因为工作原因要使用到百度的API,需要使用openssl和libcurl,刚开始以为这两个程序是分开来的,只需要分别添加到工程就可以,结果发现需要libcurl编译带openssl版本的库才可以,而且网上很多教程也是按照别人的程序进行编译,基本都是编译32位的,但是我要使用的是64位,过程还是蛮曲折的,但是也要感谢许多博文给予的一些启发,这篇博文即是一篇记录,也是分享经验。因为文中提及到的很多方法都是别的文章中提取出来的,文章太多也不好每一篇都附上链接。 编译的环境以及依赖:1、vi...原创 2020-07-21 17:29:59 · 2813 阅读 · 3 评论 -
从GitHub获取jsoncpp进行编译
一、获取源码从GitHub获取jsoncpp的源代码:https://github.com/open-source-parsers/jsoncpp下载完成后解压文件。二、生成文件1、使用cmake在编译路径使用build作为生成工程的文件夹:2、点击Configure之后,选择编译工程的编译器版本,注意默认使用的是多少位的,要使用多少位要进行设置:3、注意要勾选编译选项,点击Generate即可:4、在build文件中可以看到工程文件:三、编译1、需要在.原创 2020-08-04 16:37:19 · 884 阅读 · 0 评论 -
C++ 在windows下的编码格式转换
一、问题产生 刚好遇到了关于windows下的编码格式转换的问题,遇到了几篇帮助我解决问题的博文,将其中最重要的一篇博文转载了一下,如果原作者觉得不妥的,请联系我删除。 在windows系统下,因为系统是中文的,所以一般使用的编码方式是GBK编码才能中文,但是我接收到的字符是utf-8编码的,要在二、转载原文来源于博文:C++转换unicode utf-8 gb2312编码(https://www.cnblogs.com/lidabo/p/3903623.html)win...转载 2020-08-04 16:38:50 · 596 阅读 · 0 评论 -
利用jsoncpp进行创建JSON
一、基本概念1、定义JSON的定义(来源自百度百科):JSON(JavaScriptObject Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。JSON最初的来源于JavaScript这门语言,随着被广泛使用,几乎...原创 2020-08-05 17:31:05 · 2255 阅读 · 0 评论