- 博客(19)
- 收藏
- 关注
原创 模板进阶
一个程序(项目)由若干个源文件共同实现,而每个源文件单独编译生成目标文件,最后将所有目标文件链接起来形成单一的可执行文件的过程称为分离编译模式。C/C++程序要运行,一般要经历以下步骤:预处理-->编译-->汇编-->链接预处理:头文件展开/宏替换/条件编译/去掉注释.....编译:对程序按照语言特性进行词法、语法、语义分析,错误检查无误后生成汇编代码注意头文件不参与编译编译器对工程中的多个源文件是分离开单独编译的。汇编:汇编代码转换成二进制机器码。
2026-04-06 15:33:55
175
原创 模拟编写一个简易的list
使用类模板定义一个list_node和list,把两者分离,其实就是跟链表一样。通过一个个节点链接起来T _data;
2026-04-03 20:24:59
450
原创 list
学习了string跟vector,接下来我们进入list的学习,很多接口就不做介绍,用法跟前面都很类似,这也是STL保持一致性list其实就是一个带头双向循环链表,尾插尾删等操作都很方便。
2026-04-03 20:23:58
347
原创 vector
/ 拷贝 s1 到 vector 中(调用 string 的拷贝构造函数)// 隐式构造临时 string 对象,然后移动或拷贝到 vector 中第一处:由于s1是左值,会调用string的拷贝构造函数,在 vector 内部创建一个副本。第二处:参数是字符串字面量,push_back有一个重载接受,所以会先隐式构造一个临时string对象(调用),然后将其移动(C++11 起)或拷贝(C++98/03)到 vector 中。从到的隐式转换。
2026-03-31 16:34:40
446
原创 String类
今天我们正式进入STL中的string类的学习首先,严格来说string并不属于STL,而是属于C++标准库,比STL产生还要早广义上来讲根据功能可以归到STL。使用string去管理字符串,更加方便。C语言中的字符串C语言中,字符串是以'\0'结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理,稍不留神可能还会越界访问。在使用string类时,必须包含#include头文件以及using nam
2026-03-29 22:28:33
671
2
原创 STL简介
STL(standard template libaray-标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的 组件库,而且是一个包罗数据结构与算法的软件框架。
2026-03-28 13:20:50
38
原创 模板初阶
class 类模板名// 类内成员定义类模板public:_size = 0;// 扩容++_size;模版不建议声明和定义分离到两个文件.h 和.cpp会出现链接错误。
2026-03-28 13:20:20
359
原创 内存管理
new的原理1. 调用operator new函数申请空间2. 在申请的空间上执行构造函数,完成对象的构造delete的原理1. 在空间上执行析构函数,完成对象中资源的清理工作2. 调用operator delete函数释放对象的空间new T[N]的原理1. 调用operator new[]函数,在operator new[]中实际调用operator new函数完成N个对象空间的申请2. 在申请的空间上执行N次构造函数delete[]的原理。
2026-03-28 08:18:22
336
原创 类和对象(下)
无论是否显示写初始化列表,每个构造函数都有初始化列表无论是否在初始化列表显示初始化成员变量,每个成员变量都要走初始化列表初始化每个成员都要走初始化列表1、在初始化列表初始化的成员 显示写2、没有在初始化列表的成员 不显示写a、声明的地方有缺省值用缺省值b、没有缺省值x:内置类型,不确定,看编译器,大概率是随机值y:自定义类型,调用默认构造,没有默认构造就编译报错3、引用 const 没有默认构造自定义 必须在初始化列表初始化。
2026-03-27 14:07:10
446
原创 类和对象(中)
默认成员函数就是用户没有显式实现,编译器会自动生成的成员函数称为默认成员函数。一个类,我 们不写的情况下编译器会默认生成以下6个默认成员函数,最重要的是前四个。
2026-03-27 09:00:00
561
原创 类和对象(上)
我们首先对类进行一个初步的使用,再一步步进行接下来的学习。举例图1,class为定义类的关键词,number为类的名字(可以随意取名,只要符合标识符的命名规则),{ }为类的主体。类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。图中Init函数就是成员函数,后面的三个变量_a,_b,_c就是成员变量注:类定义结束时分号不能省略(这是很多初学者容易遗漏的地方)标识符命名规则:不能以数字开头、不能是关键字、只能包含字母、数字、下划线等。
2026-03-26 16:42:15
425
2
原创 《七把钥匙开启C++大门:从hello world开始》
本想通过f(NULL)调⽤指针版本的 f(int*)函数,但是由于NULL被定义成0,调⽤了f(intx),因此与程序的初衷相悖。C++中NULL可能被定义为字面常量0或者C中被定义为无类型指针的常量,因此在使用空值的指针时,都不可避免的会遇到一些麻烦。<iostream>是Input Output Stream的缩写,是标准的输⼊/输出流库,定义了标准的输⼊/输出对象。同时,编译时C++编译器会在调用的地方展开内联函数,这样调用内联函数就不需要建立栈帧,就可以提高效率。
2025-10-19 19:54:01
924
4
原创 C语言分支和循环学习心得
在if else 语句中, else 可以与另⼀个 if 语句连⽤,构成多重判断。在 switch 语句中 case 语句和 default 语句是没有顺序要求的。作用:在循环语句中,跳出本次循环中余下尚未执行的语句,继续执行下一次循环。1.出现在switch条件语句中,作用是终止case并跳出switch。解释:如果标记的名称存在,执行到goto语句时,会跳出到标记的位置。建议书写时if跟最近的else对应,以免造成不便,建议加上{}可以筛选条件,执行到此就不再向下执行,执行下一次循环。
2025-07-31 15:37:56
508
原创 人生第一篇博客
学习c语言开始,目前购买了《c primer plus》进行阅读,电脑安装了vs2022进行相关的电脑编程,学习一些视频同时结合书籍进行对于自我c语言的初步认识与了解,通过MOOC以及其他的网站进行相应的学习。直至近日开始进行一些了解与学习。我是一名高三毕业的准大一学生,目前还在家中等某个学校的录取通知书,所填报的专业也是编程相关。目前正值假期,每天可以长时间的进行学习,以及自我的敲代码熟悉流程,还有相应的提升英语水平。最后祝自己的路能越走越顺,同时也向编程的各位以及看此篇的朋友进行友好的问候。
2025-07-16 15:25:56
376
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅