
C/C++知识点总结
ylf_fengge
这个作者很懒,什么都没留下…
展开
-
C++11之右值引用和移动语义
右值引用和移动语义是C++11中极为重要的特性,它们赋予了C++开发者更高效地管理资源和编写高性能代码的能力。通过理解和合理运用这两个特性,我们可以编写出更简洁、高效且优雅的C++程序,充分发挥C++语言的强大优势。原创 2025-02-16 15:54:14 · 233 阅读 · 0 评论 -
C++11之新增容器类array
C++11的 array 类在保留传统数组高效性的基础上,克服了其诸多缺点,为C++程序员提供了更安全、易用的数据结构。无论是在性能要求高的底层代码,还是在追求代码健壮性和可读性的应用开发中, array 类都能发挥重要作用,是C++编程中不可或缺的一部分。原创 2025-02-11 15:17:33 · 228 阅读 · 0 评论 -
如何解决使用erase函数删除元素导致迭代器失效引起的崩溃的问题
在使用 erase 函数删除元素时,会导致后面的迭代器失效。从而引起程序崩溃。原创 2025-02-07 11:29:19 · 488 阅读 · 0 评论 -
C++11初始化列表与initializer_list
C++11引入的初始化列表和 initializer_list 为对象初始化带来了更强大、更灵活和更安全的方式,极大地提升了代码的表达力和效率。原创 2025-02-06 11:50:07 · 264 阅读 · 0 评论 -
C++中的内联函数
当一个函数被声明为内联函数时,编译器会在编译阶段将函数调用处用函数体的代码进行替换,而不是像普通函数那样进行常规的函数调用操作。这就像是把函数体直接嵌入到调用点,从而避免了函数调用的额外开销,提高了程序的执行效率。原创 2025-02-05 10:51:45 · 292 阅读 · 0 评论 -
C++11新增关键字之字符串原始字面量
原始字面量R可以直接表示字符串的实际含义,而不需要额外对字符串做转义或连接等操作。原始字符串用()括起来,且()前后可以添加字符串,但所添加的字符串必须相同原创 2025-01-21 17:13:51 · 174 阅读 · 0 评论 -
浅谈sizeof和strlen
比如有一间房间,最多只能入住4个人,目前入住了2个人,那么用sizeof计算的话,结果是4;用strlen计算的话,结果是2。原创 2025-01-20 10:44:43 · 197 阅读 · 0 评论 -
C++11新增关键字之mutable
默认的lamba的声明方式是const声明,通过值获取的参数在lambda内是无法修改的,如果要改变该值,在参数列表后面加上mutable关键字。如果我们有这么一个需求,需要在const函数里修改类变量的值,那该怎么办呢。mutable和const正好是相反的,const表示不可修改,而mutable表示可修改的。一,如果一个函数定义成const,那么在此函数中是不能修改类成员变量的。由于PrintNum函数被定义成了const,所以不能修改num的值。二,mutable在lambda表达式中的作用。原创 2025-01-09 09:50:32 · 172 阅读 · 0 评论 -
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 · 141 阅读 · 0 评论 -
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 · 393 阅读 · 0 评论 -
c++ const总结
C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。转载 2022-11-09 10:21:55 · 158 阅读 · 1 评论 -
在什么情况下析构函数要定义成虚函数
一个类作为基类时,最好把析构函数定义成虚函数。否则,当用基类指针指向派生类情况下,释放基类指针,派生类的析构函数不会被调用,这样就有可能造成资源或者内存泄漏等问题。原创 2022-11-03 10:02:46 · 259 阅读 · 0 评论 -
基类和派生类之间构造函数和析构函数的调用顺序
笔者面试时,经常被问到基类和派生类之间构造函数和析构函数的调用顺序的问题。今天写个简单程序记录一下。更简单的记忆:构造时是先有父后有子(肯定是有了老子再有儿子)。析构时相反原创 2022-11-01 10:25:56 · 1142 阅读 · 0 评论 -
C++里仿函数是什么
在STL里的一些算法,需要传递一个函数作为参数,在这种情况下我们就可以使用仿函数。那么为什么不直接使用函数指针呢,因为函数指针不能满足STL对抽象性的要求,也不能满足软件积木的要求:函数指针无法和STL其他组件(比如adapter)搭配,产生更灵活的变化。仿函数的意思是:它不是函数(其实是个类),但用法和函数一样。既然是个类,就可以存储很多变量和其他的信息,然后实现纯函数实现不了的功能。所以在一些需要函数作为参数的地方可以用仿函数代替。1,采用函数的方式。2,采用仿函数的方式。三,仿函数在STL里的使用。原创 2022-10-31 09:31:37 · 1209 阅读 · 0 评论 -
C++里public,protected,private的意义和用处
C++里public,protected,private在类成员以及派生类里的使用原创 2022-10-28 09:40:05 · 4084 阅读 · 2 评论