
C++
C++相关初级知识分享。
卡钦斯基
会的不多,就两下子。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【C++】20种设计模式之(单例模式)
单例模式的概念非常简单,即应用程序中只能有一个特定组件的实例。例如将数据库加载到内存中并提供只读接口的组件是单例模式的主要应用场景之一,因为浪费内存存储多个相同的数据集是没有意义的。另外,单例模式的使用场景还有:日志记录、配置信息、对象控制、系统状态等。原创 2023-09-08 20:53:42 · 97 阅读 · 0 评论 -
【C++】20种设计模式之(工厂模式)
顾名思义,工厂模式,用于封装对象的实例化过程,就像是生产产品的工厂,只不过,在代码中,它生产的是对象的实例,出厂的不是产品,而是对象的实例化指针。工厂模式通过定义一个公共的接口来创建对象,而不是使直接在代码中使用new关键字实例化对象。这样做的好处是可以降低代码的耦合度,并提供更好的拓展性和灵活性。抽象产品接口它定义产品的通用接口,即所有具体产品都要实现的方法。具体产品类它们实现了抽象产品接口,并定义了具体产品的特定实现。工厂类。原创 2023-09-05 17:27:25 · 111 阅读 · 0 评论 -
【C++】智能指针
手动管理内存,使用new、delete与C++中最常见的BUG——内存泄漏息息相关。尽管都知道使用new申请一块内存都应手动使用delete释放这块内存,但是随着代码复杂度的提升,一个指针或许会在多个函数中频繁传递,很多时候会使程序员犯错误,忘记释放内存,或者不知道应该在哪里释放内存。C++中也提供了一种方法——智能指针,它可以自动地释放对象所占用的内存,并避免常见的内存泄漏和悬挂指针等问题。不过,智能指针也有其限制和潜在的开销,因此在使用时需要根据具体情况进行权衡和选择。原创 2023-09-04 13:15:35 · 65 阅读 · 0 评论 -
【C++】C++虚函数表和多态
对于虚函数表和多态的掌握,意味着在实际的开发过程中,程序员能够充分利用C++面向对象编程中的多态技术,写出高拓展性以及耦合度比较低的优质代码。另外,在C++面试的过程中,这个问题也是问的比较多的,如果不懂这个问题,就代表面试者对C++的掌握还是比较初级的阶段。接下来,我们就站在编译器的角度去探究C++幕后的秘密。首先,我们观察一下,。接着,就会引出。然后再涉及到,之后,就要看一看,最后把这些知识点串起来,再引出。原创 2023-09-03 22:56:07 · 99 阅读 · 0 评论 -
【C++】函数指针
有些地方给出这样的定义形式,是一样的:其中returnType为函数返回类型;pointerName为函数指针名称;param list为参数列表;参数列表中可以同时给出参数的类型和名称,也可以只给出参数的类型,省略参数的名称,这一点和函数原型非常类似。第一个括号(*指针变量名)这样就是函数原型,返回类型行为返回类型*原创 2023-09-03 14:49:15 · 83 阅读 · 0 评论 -
【C++】预编译指令
C++中的pragma指令是一种特殊的编译器指令,用于控制编译器的处理方式,例如告诉编译器如何处理警告和错误信息,如何优化代码等等。具体来说,pragma指令可以用于以下几个方面:1. 编译器控制#pragma once:用于保证头文件只被编译一次,避免多次包含同一头文件。#pragma warning:用于设置警告信息的级别和处理方式。#pragma error:用于生成编译错误。2. 代码优化#pragma optimize:用于控制代码生成的优化级别,例如最大化代码速度或最小化代码大小等。原创 2023-04-02 15:45:37 · 1003 阅读 · 0 评论 -
【C++】关键字
C++中static关键字可以用于函数、变量和类中。它的作用不同,具体如下:1. 函数中的static关键字:当函数的返回值为static时,将该函数称为静态函数。该函数只能在当前文件中访问,不能在其他文件中被使用,因此它隐藏了自己的实现,是一种增强代码模块化的方式。同时,该函数也不需要再被链接器进行链接。2. 变量中的static关键字:当变量的声明时加上static关键字,则该变量为静态变量。原创 2023-04-02 15:17:39 · 245 阅读 · 0 评论