C++
文章平均质量分 58
WeSiGJ
毕业于东莞理工学院,拥有4年的工作经验。C/C++/Python开发,嵌入式开发,Linux开发,ROS机器人操作系统开发,SLAM算法开发,手写数字识别图像处理
展开
-
【C++】一文读懂多重条件判断、多条件判断
系列文章目录文章目录系列文章目录前言一、if else1.1 优点:1.2 缺点:二、switch case2.1 优点:2.2 缺点:总结前言多重条件判断、多条件判断是每一个程序员都无法绕过的障碍,在C/C++的世界,你可以用if else、 switch case等等来进行条件判断。而优化多重条件判断的方法有很多,例如键值对匹配、 switch、 提前返回、设计模式,设计模式中有策略模式, 表模式等等。一、if else1.1 优点:1、灵活性强当业务需要变更时,if el原创 2021-05-30 19:58:29 · 4593 阅读 · 4 评论 -
【HTTP服务器】【C++】 lambda函数 匿名函数
系列文章目录文章目录系列文章目录前言一、lambda函数二、使用步骤总结前言在构建一个HTTP服务器的过程中,调用将某库中的函数封装成类,然后在类中的函数中调用库的函数,库的函数又需要调用类中的函数,所以需要传递一个this指针给库函数。一、lambda函数lambda函数又叫匿名函数C++11提供了对匿名函数的支持,称为Lambda函数(也叫Lambda表达式). Lambda表达式具体形式如下:[capture](parameters)->return-type{原创 2021-05-21 15:09:42 · 360 阅读 · 1 评论 -
C++ to_string()函数
系列文章目录文章目录系列文章目录前言一、C++ to_string()函数详解二、example总结前言http://www.cplusplus.com/reference/string/to_string/一、C++ to_string()函数详解std::to_stringstring to_string (int val);string to_string (long val);string to_string (long long val);string to_st原创 2021-05-10 17:19:07 · 6228 阅读 · 1 评论 -
C++中compare函数
compare函数用来进行字符串以及其子串的比较,示例如下:#include <iostream>#include <string>#include <cctype>using std::cout;using std::endl;using std::cin;using std::string;int main(void){ string str1="hi,test,hello"; string str2="hi,test"; //字符串比较 if转载 2021-03-22 16:35:12 · 8252 阅读 · 0 评论 -
C++ STL中的unordered_map
C++STL中的unordered_map可类比于Python中的字典。其实现使用了哈希表,可以以O(1)的时间复杂度访问到对应元素,但缺点是有较高的额外空间复杂度。与之对应,STL中的map对应的数据结构是红黑树,红黑树内的数据时有序的,在红黑树上查找的时间复杂度是O(logN),相对于unordered_map的查询速度有所下降,但额外空间开销减小。unordered_map常用函数需要包含的文件#include <unordered_map> using namespace .转载 2021-03-19 23:06:49 · 284 阅读 · 0 评论 -
C/C++开发工程师线上笔试题
公司名称就不说出来了题一:求给定数组中出现频率最高的前n个数在网上搜索了一下,发现解决办法真的多(leetcode347):Given a non-empty array of integers, return the k most frequent elements.For example,Given [1,1,1,2,2,3] and k = 2, return [1,2].思路:(常规)遍历数组,记录数值及对应的频率,再排序找出前k个。题二:字符串中获取最长无重复字符子串逻辑题三:1原创 2020-08-05 20:16:52 · 3198 阅读 · 0 评论 -
【C++】指向指针的引用
系列文章目录文章目录系列文章目录前言一、指向指针的引用二、使用步骤1.代码2.TIPS总结前言一、指向指针的引用引用本身不是一个对象,因此不能定义指向引用的指针。但指针是对象,所以存在对指针的引用二、使用步骤1.代码int i =42;int *p; //p是一个int指针int *&r = p; //r是一个对指针p的引用r =&i; //r引用了一个指针,因此给r赋值&i就是令p指向i*r =0; //解引用r得到i,也就是p指原创 2020-11-17 21:04:05 · 573 阅读 · 1 评论 -
C++ 复合类型 引用与指针
学习目标:精通C++复合类型 引用与指针文章目录学习目标:精通C++学习内容:引用指针获取对象的地址利用指针访问对象空指针其他指针操作void* 指针学习内容:引用1、 引用即别名int &refVal = ival;int ii = refVal; // equal ii == ivalrefVal就是ival的另一个名字,直接食用即可。2、 引用并非对象,相反的,它只是为存在的对象起的另一个名字3、 引用只能bind对象,不能与字面值或某个表达式bindint &原创 2020-10-30 08:54:20 · 134 阅读 · 0 评论 -
【C++】作用域
学习目标:精通C++学习C++的作用域学习笔记:C++的作用域全局作用域1、 全局变量的作用域是全局,在整个程序都能使用块作用域2、 在函数内定义变量,该变量只能用于该函数定义变量语句之后3、 在for循环中定义的val变量,只能用于for循环内内层作用域4、 被包含的作用域叫做内层作用域外层作用域5、包含其他作用域的作用域叫外层作用域#include <iostream>int a =2;//全局变量int main(){ int b = 5;//局部原创 2020-10-29 17:15:43 · 173 阅读 · 0 评论 -
C++ getline函数用法详解
(1) istream& getline (istream& is, string& str, char delim);istream& getline (istream&& is, string& str, char delim);(2) istream& getline (istream& is, string& str);istream& getline (istream&& is, string& str);Get line from stream into stringExtra原创 2020-10-08 10:53:11 · 9790 阅读 · 0 评论 -
c++ stringstream ss()
定义了三个类:istringstream、ostringstream 和 stringstream,分别用来进行流的输入、输出和输入输出操作。本文以 stringstream 为主,介绍流的输入和输出操作。 主要用来进行数据类型转换,由于 使用 string 对象来代替字符数组(snprintf方式),就避免缓冲区溢出的危险;而且,因为传入参数和目标对象的类型会被自动推导出来,所以不存在错误的格式化符的问题。简单说,相比c库的数据类型转换而言, 更加安全、自动和直接。一、从string对象str中读.原创 2020-10-08 09:31:13 · 13662 阅读 · 0 评论 -
C++ push方法与push_back方法
void push_back (const value_type& val);void push_back (value_type&& val);Add element at the endAdds a new element at the end of the vector, after its current last element. The content of val is copied (or moved) to the new element.This effe原创 2020-10-06 15:04:28 · 1763 阅读 · 0 评论 -
stringstream常见用法介绍
本文主要介绍 C++ 中 stringstream 类的常见用法。1 概述 定义了三个类:istringstream、ostringstream 和 stringstream,分别用来进行流的输入、输出和输入输出操作。本文以 stringstream 为主,介绍流的输入和输出操作。 主要用来进行数据类型转换,由于 使用 string 对象来代替字符数组(snprintf方式),就避免缓冲区溢出的危险;而且,因为传入参数和目标对象的类型会被自动推导出来,所以不存在错误的格式化符的问题。简单说,相比c库转载 2020-10-06 14:19:00 · 575 阅读 · 0 评论 -
C++ empty()函数
empty()NULL空就返回1,其他返回0bool empty() const noexcept;Test if string is emptyReturns whether the string is empty (i.e. whether its length is 0).This function does not modify the value of the string in any way. To clear the content of a string, see string:原创 2020-10-06 14:10:35 · 3355 阅读 · 0 评论 -
C++中的C_str()函数用法
语法:const char *c_str();c_str()函数返回一个指向正规C字符串的指针常量, 内容与本string串相同.这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针比如:最好不要这样:char* c; string s="1234"; c = s.c_str(); //c最后指向的内容是垃圾,因为s对象被转载 2020-10-06 13:44:43 · 290 阅读 · 0 评论 -
C++中public、protected及private用法
封装1.类的一个特征就是封装,public和private作用就是实现这一目的。所以:用户代码(类外)可以访问public成员而不能访问private成员;private成员只能由类成员(类内)和友元访问。WeSiGJWeSiGJ继承2.类的另一个特征就是继承,protected的作用就是实现这一目的。所以:protected成员可以被派生类对象访问,不能被用户代码(类外)访问。WeSiGJWeSiGJ多态3.类的第三个特征是多态,多态:同一操作作用于不同的对象,可以有不同的解释,产生原创 2020-10-06 10:11:34 · 2586 阅读 · 0 评论 -
C++ 虚函数表解析
看到原文的评论,有人发现错误,告诫各位,不用盲目相信网上的知识,要学会自己思考。前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C转载 2020-10-05 16:56:34 · 83 阅读 · 0 评论 -
【C++】虚函数的作用及其底层实现机制
1. C++中虚函数的作用和多态虚函数: 实现类的多态性关键字:虚函数;虚函数的作用;多态性;多态公有继承;动态联编C++中的虚函数的作用主要是实现了多态的机制。基类定义虚函数,子类可以重写该函数;在派生类中对基类定义的虚函数进行重写时,需要再派生类中声明该方法为虚方法。当子类重新定义了父类的虚函数后,当父类的指针指向子类对象的地址时,[即B b; A a = &b;] 父类指针根据赋给它的不同子类指针,动态的调用子类的该函数,而不是父类的函数(如果不使用virtual方法,请看后面★*),转载 2020-10-05 16:35:02 · 851 阅读 · 0 评论 -
C++中的虚函数
多态多态是面向对象的三大特征之一,其它两大特征分别是 封装 和 继承所谓 多态,简单来说,就是当发出一条命令时,不同的对象接收到同样的命令后所做出的动作是不同的而书本上的定义则是:其实就是在说两个概念:静态多态和动态多态静态多态静态多态,也叫 早绑定看如下实例:定义一个矩形类:Rect,其中有两个同名成员函数:calcArea(),显然二者互为重载(名字相同,参数可辨)在使用时:当实例化一个 Rect 的对象后,就可以通过对象分别调用这两个函数,计算机在编译...转载 2020-10-05 15:11:53 · 925 阅读 · 0 评论