C++学习
文章平均质量分 72
爆米花煮鸡蛋
自我学习笔记,仅供参考
展开
-
C++学习(六)智能指针
在C++中,动态内存的管理是通过new和delete运算符来完成的,动态内存管理容易出现两个问题:一个是忘记释放内存,会导致内存泄露;一个是在还有指针引用的情况下就释放内存,会导致产生引用非法内存的指针。而智能指针就是用来帮我们管理动态分配的内存,能够避免内存泄露。智能指针本质上是一个类模板,通过重载运算符*、->,使智能指针能够和普通指针一样使用。智能指针不是指针,是一个管理指针的类,用来存储指向动态分配对象的指针,负责自动释放动态分配的对象,防止堆内存泄漏;原创 2024-02-27 14:09:06 · 663 阅读 · 0 评论 -
C++学习(五)const关键字
(1)只要成员函数不修改调用对象,就应该将其声明为const,这样既可以避免调用对象被修改,而且普通对象和const对象都可以调用。如果需要在const成员函数中修改成员变量的值的话,需要在成员变量前面加上mutable关键字(2)const对象只能调用const成员函数,不能调用非const成员函数;非const对象两者都可以调用。(3)const成员函数只能调用类的const成员函数,不能调用非const成员函数;非const成员函数两者都可以调用。原创 2024-02-26 11:25:38 · 695 阅读 · 0 评论 -
C++学习(四)静态static
static是C和C++中常用的修饰符,被用于控制变量的存储方式和可见性。(1)static修饰的变量存储在静态数据区,包括全局静态变量和局部静态变量,都在全局数据区分配内存。(2)static修饰全局变量时,会将变量的可见范围限制在编译单元中,进行文件隔离,只能在本文件中访问,外部文件无法访问,即使通过extern外部声明也不行,除非include变量所在的文件。(3)static修饰函数时,这个函数只能在本文件调用,不能被其他文件调用。原创 2024-02-22 18:02:31 · 959 阅读 · 0 评论 -
C++学习(三)类和结构体
类是对数据和功能组合在一起的一种方法。例如在一个游戏中,我们可能需要一些代表角色的东西,比如角色的属性、移动等,所有的这些数据都需要存储在某个地方,这个地方就是类。默认情况下一个类的所有东西都是私有的,只有类中的函数才能访问这些变量,类中的函数被称为方法。原创 2024-02-22 14:45:35 · 158 阅读 · 0 评论 -
C++学习(二)指针、引用
对于计算机来说,内存就是一切。在编程中最重要的一件事就是内存,当编写一个应用程序并启动它时,所有的程序都被载入到内存中,所有的指令告诉计算机在你写的代码中要做什么,所有的这些都被加载到内存中,CPU就是这样访问你的程序并开始执行它的指令的。当你创建一个变量,当你从磁盘中加载数据时,所有的东西都存储在内存中,如果没有内存就什么也做不了。而指针对于管理和操纵内存非常重要。指针是一个整数,一种存储内存地址的数字。原创 2024-02-19 14:55:27 · 215 阅读 · 0 评论 -
C++学习(一)编译器、链接器、函数
编译器在生成obj时,首先需要预处理我们的代码,意味着所有的预处理器语句都会先处理,一旦代码被预处理了,接下来将进行记号化和解析,把C++语言整理成编译器能够理解和推理的格式。编译器的工作就是转换我们所有的代码,转换成常量数据或指令,一旦编译器创建了这个抽象语法树,它可以开始实际生成代码,也就是CPU将执行的代码。我们常用的预处理语句有include、if ifdef、pragma语句。#include语句指定了想要包含的文件,预处理器打开这个文件,阅读它的所有内容,然后粘贴到你写的文件中。原创 2024-02-05 15:21:05 · 285 阅读 · 0 评论