![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 64
c++笔记
゛派大星ヾ
这个作者很懒,什么都没留下…
展开
-
string实现
#pragma once #include <iostream> #include <string.h> #include <assert.h> using namespace std; namespace zjp { class string { public: typedef char* iterator; public: void swap(string& str) { std::swap(_str, str._s原创 2021-04-05 18:53:40 · 137 阅读 · 0 评论 -
C++模板
模板1.模板定义2.模板分类1.函数模板1.函数模板定义2.多个实参类型不同的情况3.函数模板原理--模板实例化2.类模板1.类模板定义 1.模板定义 模板是对类型进行参数化的工具。 template <class T> template <typename T> template、class、typename均是c++中的关键字,上述两种定义方式作用相同。 2.模板分类 1.函数模板 1.函数模板定义 template <class T>原创 2021-03-22 18:36:39 · 61 阅读 · 0 评论 -
c++类和对象(初始化列表、explicit、static修饰成员、友元、内部类)
类和对象1.初始化列表1.来源2.概念3.为什么要有初始化列表2.explicit作用3.static关键字1.static修饰成员变量2.static修饰成员函数4.友元 1.初始化列表 1.来源 c++类中的构造函数,可以在实例化对象时初始化对象的成员变量的值,实际上它的初始化过程是在对象定义出来后,再进行的赋值。就类似于这样 int i; i = 1; 而初始化列表是这样的效果 int i = 1; 显然初始化列表才能真正意义上称之为初始化。 2.概念 以一个冒号开始,接着是一个以逗号分隔的数原创 2021-03-12 19:29:01 · 238 阅读 · 2 评论 -
C++内存管理(new、delete、operator new、operator delete、定位new)
C++内存管理1.new和delete使用①new单个和多个变量②delete2.new和delete底层原理---operator new。①operator new 和 malloc关系②operator delete 和 free关系3.定位new用法4. 1.new和delete使用 ①new单个和多个变量 ②delete 2.new和delete底层原理—operator new。 ①operator new 和 malloc关系 ②operator delete 和 free关系 3.定位new原创 2021-03-12 19:21:34 · 132 阅读 · 0 评论 -
C++构造函数、析构函数、拷贝构造函数、赋值运算符重载
类中四个常见的函数1.构造函数1.概念2.特性和使用析构函数1.概念2.特性 1.构造函数 我们在用类实例化处对象后总是要自己对它进行初始化,有时还会忘记初始化,这样会造成不必要的麻烦。构造函数可以实现在类实例化出对象后自动初始化成员变量。 1.概念 构造函数是一个特殊的成员函数,名字与类名相同,类实例化时由编译器自动调用,保证每个数据成员都有 一个合适的初始值,并且在对象的生命周期内只调用一次。 2.特性和使用 1.构造函数有形参,函数名必须和类名相同。 2.构造函数没有返回值。 3.构造函数只能在类当中原创 2021-02-05 19:04:08 · 354 阅读 · 0 评论 -
C++——类和对象
类和对象类1.类的引入2.类的定义3.类的访问限定符4.类的实例化(对象)5.类的大小(结构体内存对齐)6.隐含的this指针 类 1.类的引入 c语言有结构体的概念,结构体中可以包含多个成员变量它封装了一个变量的各种属性。 c++中也有结构体,与c语言不同的是它不仅包含成员变量还有成员函数。 2.类的定义 c++中的类可以用struct定义,多数情况下用class来定义。 class student { //成员 //成员变量 int _name; int _age; int _score;原创 2021-02-03 15:30:21 · 201 阅读 · 3 评论 -
c++内敛函数、auto关键字、范围for循环
内敛函数内敛函数1.为什么有内敛函数2.内敛函数使用3.内联函数特性、注意事项4.宏函数的优缺点auto关键字1.auto 的定义2.auto的使用3.auto使用注意事项4.auto使用细则范围for循环1.范围for循环的使用规范2.范围for循环的使用条件 内敛函数 1.为什么有内敛函数 c语言库中的许多函数都是用宏函数来写的,主要原因调用函数会有参数压栈建立栈帧的消耗,宏函数是替换原来的函数,省去了建立栈帧的开销,提高了效率。但是宏函数很难阅读,不便维护。 c++中为了解决这一问题引入了内敛函数的概原创 2021-02-02 18:14:57 · 164 阅读 · 0 评论 -
C++——引用
引用 1.引用的定义 引用就是对另一个变量起别名,它仅仅是一个别名,编译器不会为它开辟内存空间,它和这个变量共用一个内存空间。 int& b = a; 是定义引用。int& 是引用类型 a,b共用一个内存空间,对一个的值改变另一个值也会改变。 2.引用的特性 1.定义一个引用必须要初始化(即要指明是哪个变量的引用)。 2.一个变量可以有多个引用。 3.一个引用只能对应一个实体,不能再引用其它实体。 3.常引用 当变量是const修饰后的常变量时,它的引用也必须要用const修饰后。原创 2021-02-01 19:04:27 · 164 阅读 · 1 评论 -
C++缺省参数和函数重载
缺省参数 1.什么是缺省参数 c++允许在函数声明或定义的时候给参数指定默认值,这样就可以做到在调用该函数时如果传参数,形参的值就是实参的值;如果不传参数那么形参的值就是指定的默认值。 缺省参数分为全缺省和半缺省 全缺省 //所有形参都指定了一个值 int Add(int x = 1, int y = 2, int z = 3) { return x + y + z; } int main() { printf("%d\n", Add()); return 0; } 半缺省 int Add原创 2021-01-31 19:27:28 · 88 阅读 · 0 评论 -
C++入门,namespace关键字
用c++写一段"hello world" #include <iostream> using namespace std; int main() { printf("hello world\n"); return 0; } namespace关键字 C++有namespace关键字的原因 namespace是对c语言的一个补充,在用C写大型项目需要多人合作的时候,很有可能会出现几个人定义的全局变量或函数出现命名冲突的情况,那这时就很难受了。而在C++的namespace这个关键字就很原创 2021-01-31 17:42:21 · 186 阅读 · 0 评论