自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 C++11之‌右值引用和移动语义

右值引用和移动语义是C++11中极为重要的特性,它们赋予了C++开发者更高效地管理资源和编写高性能代码的能力。通过理解和合理运用这两个特性,我们可以编写出更简洁、高效且优雅的C++程序,充分发挥C++语言的强大优势。

2025-02-16 15:54:14 233

原创 C++11之新增容器类array

C++11的 array 类在保留传统数组高效性的基础上,克服了其诸多缺点,为C++程序员提供了更安全、易用的数据结构。无论是在性能要求高的底层代码,还是在追求代码健壮性和可读性的应用开发中, array 类都能发挥重要作用,是C++编程中不可或缺的一部分。

2025-02-11 15:17:33 228

原创 面试题大全-编写int,BOOL,float,指针变量与零值比较的if语句

这是面试中笔试经常考查的问题,尤其是与float比较更容易出错。

2025-02-08 11:02:11 150

原创 如何解决使用erase函数删除元素导致迭代器失效引起的崩溃的问题

在使用 erase  函数删除元素时,会导致后面的迭代器失效。从而引起程序崩溃。

2025-02-07 11:29:19 487

原创 C++11初始化列表与initializer_list

C++11引入的初始化列表和 initializer_list 为对象初始化带来了更强大、更灵活和更安全的方式,极大地提升了代码的表达力和效率。

2025-02-06 11:50:07 264

原创 C++中的内联函数

当一个函数被声明为内联函数时,编译器会在编译阶段将函数调用处用函数体的代码进行替换,而不是像普通函数那样进行常规的函数调用操作。这就像是把函数体直接嵌入到调用点,从而避免了函数调用的额外开销,提高了程序的执行效率。

2025-02-05 10:51:45 292

原创 面试题大全-实现一个“标准”的MIN宏

对于带有"参数"的宏,在“宏体”中一定要对参数加括号,否则,可能达不到预期的结果。

2025-02-05 08:44:51 82

原创 C++11新增关键字之字符串原始字面量

原始字面量R可以直接表示字符串的实际含义,而不需要额外对字符串做转义或连接等操作。原始字符串用()括起来,且()前后可以添加字符串,但所添加的字符串必须相同

2025-01-21 17:13:51 174

原创 浅谈sizeof和strlen

比如有一间房间,最多只能入住4个人,目前入住了2个人,那么用sizeof计算的话,结果是4;用strlen计算的话,结果是2。

2025-01-20 10:44:43 197

原创 C++11新增关键字之mutable

默认的lamba的声明方式是const声明,通过值获取的参数在lambda内是无法修改的,如果要改变该值,在参数列表后面加上mutable关键字。如果我们有这么一个需求,需要在const函数里修改类变量的值,那该怎么办呢。mutable和const正好是相反的,const表示不可修改,而mutable表示可修改的。一,如果一个函数定义成const,那么在此函数中是不能修改类成员变量的。由于PrintNum函数被定义成了const,所以不能修改num的值。二,mutable在lambda表达式中的作用。

2025-01-09 09:50:32 169

原创 面试题大全-简述TCP和UDP的区别

针对socket编程,面试官可能会问到TCP和UDP的区别。

2025-01-05 09:48:55 151

原创 面试题大全-string类的实现

此题考查应聘者对构造函数,析构函数,复制拷贝函数以及赋值函数的掌握情况。同时也考察了对指针,字符串以'\0'结尾,深拷贝和浅拷贝的掌握情况。看似简单,要想拿满分也不容易。

2025-01-04 15:24:54 80

原创 面试题大全-new和malloc的区别

而new操作符在内存分配失败时,会抛出std::bad_maclloc异常。5,malloc返回的是一个void*指针,开发者需要手动进行类型转换以匹配所需的类型。3,new分配的内存,需要用delete来释放(delete对象时,会自动调用对象的析构函数);malloc分配的内容需要用free来释放。2, new在分配内存后会自动调用对象的构造函数进行初始化,而malloc分配的内存是未初始化的,也不会调用对象的构造函数。1, new是一个C++中特有的操作符,而malloc是C中的内存分配函数。

2025-01-03 10:19:29 385

原创 面试题大全-C++面向对象三大特点

在C++中,多态有两种形式,一种是静态多态,另外一种是动态多态。静态多态是编译时多态,动态多态是运行时多态。protected 继承:基类的public成员在派生类中变为protected,而protected成员保持不变。继承可以使我们在已有类的基础上进行扩展,增加新的方法和属性,从而创建新的类,这些新类被称为派生类(Derived Class)静态多态:通过重载函数实现。动态多态:通过在派生类中重写基类的方法(虚函数),在运行时根据对象的实际类型调用相应的方法。三大特点是:封装,继承和多态。

2025-01-02 14:24:26 214

原创 C++11新增关键字之范围for循环

declaration表示元素的声明,元素类型可以是值(例如 int),也可以是引用(例如int &,或者const int &),甚至可以是使用auto关键字来自动推导循环变量的类型。二,C++11新增了范围for循环(Range-based for loop)。这种循环能更简洁地遍历容器(如字符串、向量、数组等)中的所有元素。一,在C++11之前我们对一个数组进行遍历,采用如下for循环的方式。三,范围for循环语法格式。

2025-01-02 10:13:32 181

原创 C++11新增关键字之delete

二,C++11增加了一个关键字delete来解决这个问题,delete表示禁止调用此函数。error C2280: “Parent::Parent(const Parent &)”: 尝试引用已删除的函数。error C2280: “void Parent::Do(char)”: 尝试引用已删除的函数。我们创建了一个类,但不允许调用这个类的拷贝构造函数和拷贝赋值运算符,我们该如何实现这个类。即使拷贝构造函数和拷贝赋值运算符被定义成了Public类型的函数,以下的调用依然编译不过。以下的调用都是编译不过的。

2024-12-31 19:38:56 140

原创 C++11新增关键字之final和override

使用override可以明确地表示一个函数重写了基类中的虚函数,并让编译器帮助我们检查是否正确地进行了重写。override关键字用于派生类中,表示该成员函数重写了基类中的虚函数。error C3668: “Child::Do”: 包含重写说明符“override”的方法没有重写任何基类方法。error C3248: “Parent::Do”: 声明为“final”的函数无法被“Child::Do”重写。Child::Do函数添加override表示重写了基类Parent中的Do函数。

2024-12-31 11:33:54 390

转载 c++ const总结

C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。

2022-11-09 10:21:55 158

原创 在什么情况下析构函数要定义成虚函数

一个类作为基类时,最好把析构函数定义成虚函数。否则,当用基类指针指向派生类情况下,释放基类指针,派生类的析构函数不会被调用,这样就有可能造成资源或者内存泄漏等问题。

2022-11-03 10:02:46 259

原创 基类和派生类之间构造函数和析构函数的调用顺序

笔者面试时,经常被问到基类和派生类之间构造函数和析构函数的调用顺序的问题。今天写个简单程序记录一下。更简单的记忆:构造时是先有父后有子(肯定是有了老子再有儿子)。析构时相反

2022-11-01 10:25:56 1142

原创 C++里仿函数是什么

在STL里的一些算法,需要传递一个函数作为参数,在这种情况下我们就可以使用仿函数。那么为什么不直接使用函数指针呢,因为函数指针不能满足STL对抽象性的要求,也不能满足软件积木的要求:函数指针无法和STL其他组件(比如adapter)搭配,产生更灵活的变化。仿函数的意思是:它不是函数(其实是个类),但用法和函数一样。既然是个类,就可以存储很多变量和其他的信息,然后实现纯函数实现不了的功能。所以在一些需要函数作为参数的地方可以用仿函数代替。1,采用函数的方式。2,采用仿函数的方式。三,仿函数在STL里的使用。

2022-10-31 09:31:37 1208

原创 C++里public,protected,private的意义和用处

C++里public,protected,private在类成员以及派生类里的使用

2022-10-28 09:40:05 4084 2

一个用curl实现的网络下载C++例子

一个用curl实现的网络下载C++例子

2022-11-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除