
C/C++面试通关集锦
文章平均质量分 77
优快云博客专家,华为云享专家,HDZ核心组成员,Linux中国翻译组成员,ACM退役选手,分享 Linux、C/C 、Go、算法编程和面试经验,与大家一起成长,把握青春、不负韶华!
Muti-Agent
优快云博客专家,华为云享专家,HDZ核心组成员,Linux中国翻译组成员,ACM退役选手,分享 Linux、C/C 、Go、算法编程和面试经验,与大家一起成长,把握青春、不负韶华!
展开
-
C++ Primer 课后习题详解 | 2.1.2 类型转换
C++ Primer 课后习题详解 | 2.1.2 类型转换原创 2022-12-28 08:00:00 · 1894 阅读 · 0 评论 -
C++ Primer 课后习题详解 | 2.1.1 算术类型
C++ Primer 课后习题详解 | 2.1.1 算术类型原创 2022-12-25 08:57:46 · 1099 阅读 · 0 评论 -
C++ Primer 课后习题详解 | 12.1.2 直接管理内存
C++ Primer 课后习题详解 | 12.1.2 直接管理内存原创 2022-12-25 08:00:00 · 1267 阅读 · 0 评论 -
C++ Primer 课后习题详解 | 12.1.1 shared_ptr 类
C++ Primer 课后习题详解 | 12.1.1 shared_ptr 类原创 2022-12-23 08:00:00 · 1342 阅读 · 0 评论 -
MySQL 数据库 C/C++ 常用函数
优快云博客专家🏆,华为云享专家🏆,Linux、C/C++、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊!原创 2022-12-12 07:52:18 · 1963 阅读 · 0 评论 -
C++ 类型转换
1.静态类型转换—static_cast1.1 格式:static_cast<type-id>(expression)static_cast主要用于基本类型之间、基本类型指针和空指针间的转换(不能用于基本类型指针之间的转换),该运算符把expression转换为type-id类型,但是没有运行时类型检查来保证转换的安全性。1.2 规则:用于类层次结构中基类和子类之间指针或引用的转换,可...原创 2018-06-28 10:15:15 · 2301 阅读 · 0 评论 -
设计模式_单例模式
单例模式概念:有时候,在写程序的时候,希望程序在运行期间有且只有一个实例(具体见应用场景),所以就引出了单例模式,它是指一个类在程序的生命周期中只有一个实例化的对象,并且提供该实例的全局访问方法。应用场景:单利模式可以分为懒汉式和饿汉式:懒汉式:第一次用到类的实例的时候采取实例化;饿汉式:在单例类定义的时候实例化;懒汉式:饿汉式:...原创 2018-07-02 11:01:46 · 2073 阅读 · 0 评论 -
C++ const修饰符
const修饰符可以修饰指针、数据成员、成员函数和类对象。接下来分别进行解释:1.修饰指针 const 对象一旦创建就不能改变,所以const对象必须初始化。可以是任意的表达式; const int i = get_size(); //true const int j = 42; //true const int k; ...原创 2018-05-10 22:39:38 · 2394 阅读 · 1 评论 -
C++ new operator、operator new 和 placement new
1. new operator概念:new是C++中动态内存分配的运算符,同时也是一个关键字,在C语言中分配内存一般使用malloc函数。规则:不可以被重载;当new分配内存失败,会调用分配内存失败处理程序new_handler;执行过程:调用operator new 分配内存;调用构造函数生成类对象;返回相应指针;使用举例:#include <iostream>using name...原创 2018-07-05 15:12:38 · 2214 阅读 · 0 评论 -
C++隐式类型转换构造函数和关键字explicit
隐式类型转换构造函数:转载 2018-05-23 11:33:07 · 3272 阅读 · 0 评论 -
C++ 常见关键字
virtual, inline, decltype,volatile原创 2018-06-30 20:18:10 · 5067 阅读 · 1 评论 -
C++ 多态
这篇文章对多态做一个总结。1.1 定义 如果有几个相似而不完全相同的对象,有时人们要求在向他们发出同一消息时,他们的反应各不相同,分别执行不同的操作,这种情况就是多态现象。C++所谓的多态是指,由继承而产生的相关的不同的类,其对象对同一消息会作出不同的响应。在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用...原创 2018-06-27 08:39:55 · 2825 阅读 · 1 评论 -
面向初学者的 STL set 详解,一看就懂!
???? 作者:Linux猿???? 简介:优快云博客专家????,C/C++、面试、刷题、算法尽管咨询我,关注我,有问题私聊!目录一、什么是 set ?二、set 的定义2.1 头文件2.2 定义2.3 常用方法三、set 方法实例演示3.1 size()、clear()、empty() 方法3.2 begin()、end() 方法3.3 rbegin()、rend() 方法3.4 lower_bound()、upper_bound() 方法3.5 e原创 2021-09-10 12:59:23 · 8262 阅读 · 41 评论 -
一看就懂!保姆级实例详解 STL list 容器【万字整理】
???? 作者:Linux猿???? 简介:优快云博客专家????,C/C++、面试、刷题、算法尽管咨询我,关注我,有问题私聊!???? 关注专栏:C/C++面试通关集锦(优质好文持续更新中……)????目录一、什么是 list ?二、List 的定义2.1 头文件2.2 定义2.3 常用方法三、实例讲解3.1 size()、clear()、empty() 方法3.2 push_front()、push_back() 方法3.3 pop_front()、po原创 2021-09-05 10:28:19 · 4619 阅读 · 70 评论 -
零基础都能看懂的 STL map 详解
???? 作者:Linux猿???? 简介:优快云博客专家????,C/C++、面试、刷题、算法尽管咨询我,关注我,有问题私聊!???? 关注专栏:C/C++面试通关集锦(优质好文持续更新中……)????map 在编程中是经常使用的一个容器,本文来讲解一下 STL 中的 map,赶紧来看下吧!一、什么是 map ?map 是具有唯一键值对的容器,通常使用红黑树实现。map 中的键值对是 key value 的形式,比如:每个身份证号对应一个人名(反过来不成立哦!),其中,身份证号就原创 2021-08-21 16:48:48 · 21788 阅读 · 70 评论 -
一文搞懂内联函数!
???? 作者:Linux猿???? 简介:优快云博客专家????,C/C++、面试、刷题、算法尽管咨询我,关注我,有问题私聊!???? 关注专栏:C/C++面试通关集锦(优质好文持续更新中……)????目录一、什么是内敛函数?二、为什么要使用内联函数 ?三、哪些函数不能是内联函数?四、使用内联函数的缺点五、总结内敛函数想必大家都很熟悉,适当的使用内敛函数可以提高程序的执行效率。本篇文章就来讲解下内敛函数,赶紧来看下吧!一、什么是内敛函数?内敛函数是在 C++原创 2021-08-14 11:06:54 · 20514 阅读 · 43 评论 -
野指针?悬空指针? 一文带你搞懂!
???? 作者:Linux猿???? 简介:优快云博客专家????,C/C++、面试、刷题、算法尽管咨询我,关注我,有问题私聊!???? 关注专栏:C/C++面试通关集锦(优质好文持续更新中……)????目录一、野指针二、悬空指针2.1 情况一2.2 情况二2.3 情况三野指针和悬空指针是指针中常见的两个概念,本文结合实例讲解来讲解下。一、野指针野指针是指尚未初始化的指针,既不指向合法的内存空间,也没有使用 NULL/nullptr 初始化指针。来看一个简单原创 2021-08-07 10:35:22 · 15879 阅读 · 65 评论 -
一文掌握C/C++内存泄漏,防止内存泄漏以及检测工具!
???? 作者:Linux猿???? 简介:优快云博客专家????,C/C++、面试、刷题、算法尽管咨询我,关注我,有问题私聊!???? 关注专栏:C/C++面试通关集锦(优质好文持续更新中……)????目录一、什么是内存泄漏?二、如何防止内存泄漏?1. 成对出现2. 智能指针三、内存泄漏检测工具1. Valgrind2. PurifyPlus在写 C/C++ 代码的时候,经常需要为程序分配动态内存,难免就会发生内存泄漏的情况,本文就来说一下如何防止 C/C++原创 2021-08-04 08:23:38 · 10579 阅读 · 72 评论 -
【C/C++面试必备】bfs和dfs的区别
???? 作者:Linux猿???? 简介:优快云博客专家????,C/C++、面试、刷题、算法尽管咨询我,关注我,有问题私聊!???? 关注专栏:C/C++面试通关集锦(优质好文持续更新中……)????目录一、什么是 bfs ?1.1 搜索方式二、什么是 dfs ?2.1 搜索方式三、bfs 和 dfs 的区别3.1数据结构3.2 访问节点的方式3.3 应用大家对 bfs 和 dfs 应该都有了解,都是很常用的搜索算法,本文结合实例来讲解下这两者的不同。原创 2021-07-30 08:15:44 · 9481 阅读 · 75 评论 -
【C/C++面试必备】volatile 关键字
???? 作者:Linux猿???? 简介:优快云博客专家????,C/C++、面试、刷题、算法尽管咨询我,关注我,有问题私聊!???? 关注专栏:C/C++面试通关集锦 (优质好文持续更新中……)????本文来讲解一下 C/C++ 中的关键字 volatile。在日常的使用中很少使用到,但是,在面试中经常被提起,下面具体来看一下。volatile 的作用是什么呢?volatile 意思是易变的,是一种类型修饰符,在C/C++中用来阻止编译器因误认某段代码无法被代码本身所改变,而造成的原创 2021-07-20 07:53:26 · 8160 阅读 · 105 评论 -
【C/C++面试必备】声明和定义的区别
???? 作者:Linux猿???? 简介:优快云博客专家????,C/C++、面试、刷题、算法尽管咨询我,关注我,有问题私聊!???? 关注专栏:C/C++面试通关集锦(优质好文持续更新中……)????目录一、变量的声明和定义1.1声明1.2定义1.3 区分定义和声明二、函数的声明和定义2.1 函数声明2.2 函数定义2.3 函数声明和定义区分三、声明和定义的区别3.1 声明/定义次数3.2 分配内存3.3 做了什么本文来介绍一下声明和定义原创 2021-07-16 08:04:23 · 21679 阅读 · 81 评论 -
【C/C++面试必备】面向对象与面向过程的区别
这篇文章来说下面向对象编程!那什么是面向对象编程呢?是这样?还是这样?当然,都不是!介绍面向对象之前,那必须先说一下面向过程。什么是面向过程呢?面向过程(Procedure-Oriented Programming,简称POP)是一种编程模型,由一系列要执行的计算步骤组成,通常采用自上而下、顺序执行的方式。面向过程的编程语言包括:C、Fortran、Pascal、Basic等。下面来看一个简单的例子:咱们以把大象放进冰箱为例,面向过程的方式分为三步:1..原创 2021-07-14 07:54:24 · 9030 阅读 · 105 评论 -
3分钟理解指针和引用的区别【❤️建议收藏❤️】
???? 作者:Linux猿???? 简介:优快云博客专家????,C/C++、面试、刷题、算法尽管咨询我,关注我,有问题私聊!???? 关注专栏:C/C++面试通关集锦(优质好文持续更新中……)????在 C/C++ 使用过程中,经常会使用指针和引用,那它们两个是什么区别呢?本文就来详细讲解一下!指针:是保存另一个变量内存地址的变量,指针通过 * 访问保存的内存地址所指向的值;引用:是另一个变量的别名,一旦被初始化就不能被改变,引用可以认为是一个具有自动间接性的常量指针,相当于编译器原创 2021-07-11 10:38:10 · 7821 阅读 · 65 评论 -
define 面试知识点都在这里了!
????作者:Linux猿???? 简介:优快云博客专家,C/C++、面试、刷题、算法尽管咨询我,关注我,有问题私聊!???? 关注专栏:C/C++面试通关集锦(持续更新好文中……)【图片】define 是预处理器的一个指令,定义在 C 语言中。在预处理过程中,将宏的值在源代码中搜索对应宏进行替换,可以理解为字符串的替换。为什么说它是预处理器的一个指令呢?我们来看一下例子:#include <stdio.h>#define x 5int main() {原创 2021-07-07 08:00:01 · 2892 阅读 · 44 评论 -
一文搞懂数组指针和指针数组【C/C++面试必备】
作者:Linux猿简介:在各大厂 C/C++ 的面试中,基础知识必须要掌握扎实,一定要提前准备,俗话说“机会总是留给有准备的人”。这篇文章来介绍下数组指针和指针数组的区别,但看名字就知道不好理解,仅是换了一下词的前后顺序,下面就以通俗易懂的方式讲解下,赶紧来看下吧!一、数组指针数组指针比较容易混淆,理解上也更难一点。先来看下语法形式:类型(*变量名)[]具体的类型定义可以是如下形式:int(*p)[5];数组指针又称行指针或指向数组的指针,指向一整行的数据。..原创 2021-07-03 17:10:21 · 3626 阅读 · 83 评论 -
C/C++字节对齐
看到一篇讲解C/C++字节对齐不错的文章: 来源:链接~ 字节对齐的原因: 为了提高 CPU 的存储速度,编译器会对 struct 的存储进行优化,即进行字节对齐。 对齐方式: 它们的字节对齐标准就是它的所有成员中字节数最大的数据的字节数。 一般在32为操作系统的情况下C/C++的变量所占用的字节数: ...转载 2018-05-04 22:47:46 · 3524 阅读 · 0 评论 -
extern 和 extern “C” 作用
使用extern "C"的目的:首先,你需要明白一点,C++在编译函数和变量的时候会进行倾轧(就是支持重载,将函数重载成一个特定的名字,而C语言不支持重载),而当C++调用的C语言函数库是已经编译好的,是用C的方法编译的,所以如果你还是按照正常思路调用C库函数的话(如果不在头文件中加extern "C"),就会出现在头文件中的函数被倾轧,而库函数不倾轧,会链接出错,所以C++就在调用C语言...原创 2018-05-09 15:44:25 · 3844 阅读 · 0 评论 -
C++容器---Pair
Pair1.头文件: #include using namespace std;2.定义: pair名称; 两个类型可以不同,pair里有两个值,分别用first和second访问。例如: pairp(1 ,1.1) ; p.first = 2 ; p.second = 2.2 ;原创 2017-08-09 15:10:19 · 2287 阅读 · 0 评论 -
剑指Offer编程题
1.题目:二维数组中的查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解法:从二维数组的左下角开始比较,令 i = n - 1 , j = 0;(假设数组为a,i为要比较的行号,j为列号),当目标值与a[i][j],比较的时候,如果等于目标值则结束,如果目标值小于a[...原创 2018-04-08 19:37:00 · 2400 阅读 · 0 评论 -
C++ static
先说一下C语言中的静态变量,然后接着说C++中的静态变量。C语言中的static作用:C语言中的static可以修饰变量或函数。1.修饰变量:会是变量成为静态局部变量,会延长它的生存周期,但是不会改变其作用域,static修饰全局变量的时候,这个全局变量只能在本文件中访问,不能在其它文件中访问,即便是extern外部声明也不可以,他们都是程序运行结束后才释放。2.修饰函数:加在函数定义或声明的前面...原创 2018-05-08 21:51:44 · 2207 阅读 · 2 评论 -
C++ 小知识
C/C++原创 2015-01-25 11:11:41 · 2848 阅读 · 0 评论 -
各种C语言处理函数 strcat,strcpy,strncpy,memset,memcpy 总结
1. strcat2. strcpy用法:strcpy是C语言标准库函数,函数原型如下:char *strcpy(char *dst, const char *src);函数把参数src字符串复制到dst参数,dst字符串的结束符也会复制,如果参数src和dst在内存中出现叠,其结果是未定义的。由于dst参数将进行修改,所以它必须是个字符串数组或者是一个指向动态内存分配的数组指针,不能使用字符串常...原创 2018-07-10 14:54:35 · 5162 阅读 · 2 评论 -
对 fork 函数的理解
这里先说一下为什么用fork:例如:Web服务器,当许多浏览器来访问的时候,如果服务器等一个处理完再处理另一个,那这样就太慢了,服务器可以为每一个请求开一个进程,这样就实现了多进程,提高处理速度。例如:有一个大工程,可以分为许多个模块,就可以为每一个模块创建一个线程,当然有的模块之间有先后顺序,这可以进行特殊处理。1. 概念: fork是在Linux中使用的一个分叉函数。若成功调用一次则返回...原创 2018-07-11 21:52:58 · 2807 阅读 · 1 评论 -
Sizeof的用法
转自:https://www.cnblogs.com/huolong-blog/p/7587711.html#include <iostream>using namespace std;/* * sizeof用法 * 定义:sizeof是一个操作符(operator),其作用是返回一个对象或类型所占的内存字节数。 **/class My_Empty{};...转载 2018-08-02 10:09:35 · 2377 阅读 · 1 评论 -
STL 之 vector
vector的基本用法:#include <iostream>#include <vector>#include <algorithm>using namespace std;//转自:https://www.cnblogs.com/zhonghuasong/p/5975979.htmlint main(int argc, char *argv...原创 2018-07-12 15:24:02 · 2161 阅读 · 0 评论 -
C/C++ 宏定义 __FILE__、__LINE__、__func__、__TIME__ 等
目录一、用例测试环境二、宏定义2.1 __FILE__2.2 __LINE__2.3 #line2.4__func__ 和 __FUNCTION__2.5__DATE__2.6__TIME__三、总结四、参考文献 在C/C++中一些宏可以用来帮助调试或输入到 log 中,本文将整理一些常见的宏。一、用例测试环境 整篇文章测试用例使用到的环境如下,并不是说一定要在如下环境中才有效,只是指明下本文的测试用例环境。 系统环境:CentOS ...原创 2020-08-09 11:37:18 · 19880 阅读 · 1 评论 -
C++ 继承
1. 概念 类的继承,是新的类从已有类那里得到已有的特性。或从已有类产生新类的过程就是类的派生。原有的类称为基类或父类,产生的新类称为派生类或子类。2. 继承方式 继承方式规定了如何访问基类继承的成员。继承方式有public, protected, private。继承方式不影响派生类内原有数据成员的访问权限,影响了从基类继承来的成员的访问权限,包括派生类内的访问权限和派生...原创 2018-07-10 15:14:00 · 2187 阅读 · 0 评论 -
Hash
Hash: hash算法解决冲突的方法常用的有开放定址法、再哈希法、链地址法、 建立公共溢出区。哈希表: 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。1.开放定址法 开放定址...原创 2018-08-04 15:08:36 · 2360 阅读 · 1 评论 -
C++ 友元
1. 概念 采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该类的友元函数。除了友元函数外,还有友元类,两者统称为友元。友元的作用是提高了程序的运行效率(即减少了类型和安全性检查及调用的时间开销),但...原创 2018-07-09 20:24:30 · 2083 阅读 · 0 评论 -
C/C++ 数组作为参数传递到函数后,使用 sizeof 产生的问题
C++ 将字符串传递到函数后,使用 sizeof 产生的问题原创 2021-05-09 23:50:44 · 5963 阅读 · 8 评论