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