
c++
文章平均质量分 78
小老虎_cch
要勇敢,要坚强,要努力,要自信,要像小星星一样闪闪发光
展开
-
C++编程题
C++练习题目原创 2022-08-21 10:36:28 · 812 阅读 · 0 评论 -
this指针
隐含的this指针 每个类成员函数都含有一个指向被调用对象的指针,这个指针被称为this。在非const成员函数中,它的类型是指向该类类型的指针:在const成员函数中,是指向const类类型的指针。而在volatile成员函数中,是指向volatile类类型的指针。 1 改变类成员函数的定义 用额外的参数 this 指针 来定义每个成员函数 例...原创 2019-07-28 14:35:02 · 187 阅读 · 0 评论 -
【C++】STL迭代器
作者前言:学习迭代器之前,我们要先清楚,什么是迭代器?迭代器是干什么用的?为什么要使用迭代器? 迭代器是一个支持指针类型抽象的类对象。提供了一种一般化的方法,对顺序或关联容器类型中的每个元素进行连续访问。 简单来说,迭代器就是用来遍历容器的工具,并可以对容器进行一定的操作。 划重点!!! 迭代器和指针有什么区别? 迭代器不是指针,是类模板,表现的像指针。他只是模拟了指针的一些功能,通...原创 2019-07-28 12:18:50 · 346 阅读 · 2 评论 -
【c++】String类的写时拷贝
在学习写时拷贝前,我们先看一个例子 class String { public: String(char* ptr) { mptr = new char[strlen(ptr) + 1](); //+'\0' strcpy_s(mptr, strlen(ptr) + 1, ptr); } ~String() { delete[] mptr; mptr = NULL;...原创 2019-07-28 00:59:45 · 296 阅读 · 0 评论 -
变量,函数内存分布---虚拟地址空间布局
int a = 10; //全局变量,全局区。全局变量初始化且初始化不为0,存放在内存的.data段 int m; // 全局变量初始化为0或者未初始化,存放在.bss段 class SomeClass { private: int b; //由使用决定,在main函数中类SomeClass动态分配,...原创 2019-03-21 22:27:40 · 442 阅读 · 0 评论 -
【c++】typename关键字的使用
1.定义模板类型参数 在c++模板中有两种定义方法: template<class T>... template<typename T>... 这两种定义方式有什么区别呢? 相信学习C++的人对class这个关键字都非常明白,class用于定义类,在模板引入c++后, 最初定义模板的方法为:template<classT>...... 在这里c...原创 2019-07-27 20:28:22 · 345 阅读 · 0 评论 -
【C++】继承、虚函数
我们要清楚继承的应用场景,为什么会引出继承的概念? 1.要创建的新类与已有的类类似,只是多出几个成员变量或者成员函数 2.当要创建多个类,它们拥有很多类似的成员变量或者成员函数时,可以把这些类共同的成员提取出来,定义一个基类,然后由基类继承。 继承的本质含义就是代码的复用,派生类可以继承除基类构造,析构函数以外其他 所有的成员,为派生类所用,派生类只需要实现自己特有的成员即可 两个...原创 2019-07-31 21:09:08 · 826 阅读 · 0 评论 -
引用与指针的比较
引用是 C++中的概念,我们很容易把引用和指针混淆一起。一个程序中,n 是 m 的 一个引用(reference),m 是被引用物(referent)。 int m; int &n = m; n 相当于 m 的别名(绰号),对 n 的任何操作就是对 m 的操作。例如有人名叫王小 毛,他的绰号是“三毛”。说“三毛”怎么怎么的,其实就是对王小毛说三道四。...原创 2019-07-26 21:06:59 · 501 阅读 · 4 评论 -
c++支持的四种类型强转
首先我们来了解一下c语言中的类型强转 #include<stdio.h> int main() { int *p = NULL; char *q = NULL; q = p; return 0; } 不能直接转换,需要强转 #include<stdio.h> int main() { int *p = NUL...原创 2019-08-03 14:27:30 · 493 阅读 · 0 评论 -
static关键字的作用
1.全局静态变量 在全局变量前加上关键字static,全局变量就定义为一个全局静态变量。 静态存储区,在整个程序运行期间一直存在。 初始化:未经初始化的全局静态变量会被自动初始化为0(自动对象的值是任意的,除非他被显式初始化)。 作用域:全局静态变量在声明他的文件之外是不可见的,只能在本文件中使用,准确的说是从定义之处开始,到文件结尾。 例如在a.c中定义了s...原创 2019-07-23 16:51:31 · 258 阅读 · 0 评论 -
【c++基础】类和对象 四个默认函数
1.构造函数:初始化对象所占内存空间(成员变量) 函数名与类名相等,不需要返回值 字符串赋值:需要开辟内存空间 mname = new char [strlen(name) + 1]();//对象在栈上开辟(由系统开辟和释放),而对象中的内容在堆上开辟。堆内存由用户 开辟和释放 strcpy(mname,name); 1.this指针:指向对象所占的内存...原创 2019-01-19 18:55:41 · 405 阅读 · 0 评论