
C++再读
对C++的知识进行浓缩,回到概念本质的概括,结合了生活实际现象
Tine Chan
独立追根溯源思考
展开
-
static封闭范围,extern延伸范围
原创 2020-09-30 20:56:43 · 300 阅读 · 0 评论 -
C++简短语法规律
对象,对象的方法使用对自我和外在提供服务,对象之间通过接口(方法)进行操作指针是个可隔靴搔痒的东西,有间接同等权利操作,const才能限制他的权利最后的一个词为事物,确定了事物,定语确定在什么样的范围内进行描述一种类别...原创 2020-02-29 20:04:54 · 186 阅读 · 0 评论 -
待解决的问题?
本地变量释放后是否和堆释放一样,其他线程可以立马占用释放的存储空间? goto语句为什么不能像if一样跳过变量定义? 构造函数体不执行完,析构函数还执行么?析构函数除了执行函数体还在干嘛?对象包括内存空间么?,内存是由析构函数释放的么? 编译器对什么类型的存储空间不能自己分配? ...原创 2020-02-28 19:56:32 · 163 阅读 · 0 评论 -
指针所指向内存重点
delect不能删除准备拷贝的,与需求不同delect删除没有的东西,编译不过不同指针可能指向同一块区域,与需求不同本地变量在栈内,释放存储空间和值都在那里...原创 2020-02-27 18:36:26 · 227 阅读 · 0 评论 -
存储分类重点
全局数据区:全局变量,静态本地变量,静态成员变量。堆:new出来的栈:本地变量(在函数内部产生的变量)原创 2020-02-27 17:08:35 · 120 阅读 · 0 评论 -
重载和传参概念的独立性,继承概念的不全适用性(本质还是个传递具体给虚体具体化的这么一个过程)
重载概念可以用到函数,可以用到模板,等等等继承的概念用到类,但是不能用到模板原创 2020-02-27 13:19:26 · 147 阅读 · 0 评论 -
类型转换运算符函数,构造-重载类型转换方法-写个在函数体执行的类型转换函数(三种)
构造是接收接收外界控制,然后生成新对象,新对象的服务提供给第三者;类型转换函数:自动转换的弊端,本来这个地方不需要转的,某个地方打错字了,但是编译器只知道执行,所以也会帮你自动转换,这样整体看来不受控制,所以还是多用显式的构造函数好。类型转换函数不能强制要求。...原创 2020-02-27 10:51:34 · 162 阅读 · 0 评论 -
赋值运算符重载比拷贝构造多一个删除待放置空间
先讲个知识点,v[10]是在调用v对象的方法,v对象若有返回值且返回类型做了左值,也可以啊下面开始:如果that=this=p,那么delect p之后内存没了,即使没有其他线程来占用保留着,下一句that.p指向另一块内存内容变了...原创 2020-02-26 23:37:37 · 128 阅读 · 0 评论 -
全面看待眼光-类的神奇之处-可以调用方法使得返回一个对象。例:容器
可以调用方法使得返回一个对象,即一块内存空间大小相当于对自己操作,向外提供的服务是割据自己扩展:可以提供与实参混合操作过后的服务;不return的,实参进来的属于别人间接控制自己,但是根本的改变还是自己。没有实参进来的,属于直接控制自己;总结:控制自己是完全自己控制自己,还控制自己向外不向外提供服务,还控制自己接受不接受外界控制,虽说是自己绝对的自己控制自己,但是只要有接受...原创 2020-02-26 22:01:11 · 129 阅读 · 0 评论 -
构造函数
构造函数的函数体是个赋值语句,编译器提供的构造函数类名(){}只是为了保证开辟存储空间如果人为的提供构造函数,那么编译器的就不存在了;可以在构造函数里边加初始化列表...原创 2020-02-25 21:17:53 · 132 阅读 · 0 评论 -
非引用的子函数可以拿掉不看,
不论引用不引用都是局部变量,但是引用的局部变量对自己的改变就是对实参的改变,等价。两种办法,限制自己权利,限制实参不被改变。在这两个过程的环节一个,只能否定改变的那个人权利。...原创 2020-02-25 21:15:47 · 126 阅读 · 0 评论 -
运算符重载
跟系统里边的重载,不是跟自己写的重载。原创 2020-02-25 18:54:10 · 135 阅读 · 0 评论 -
提前使用公开的静态成员
所有静态在存储上边都是永久的,静态成员访问权限受限于类,this可以在类里边先透支,但是只有在main里边建立对象才能使用。局部静态的作用:一旦public,那么就可以在main里边提前单独使用,不用等到建立对象才使用...原创 2020-02-25 18:47:35 · 112 阅读 · 0 评论 -
子类重写父类虚函数会导致父类继承过过来的没了掉-无法重载
所以重写了,导致虚函数也隐藏了,这时候子类自己要写个隐藏的同名父类虚函数原创 2020-02-25 16:25:48 · 354 阅读 · 0 评论 -
继承时候的重写屏蔽父类的所有同名函数,包括参数不一样
继承时候的重写屏蔽父类的所有同名函数,包括参数不一样即使继承只要子类有同名,父类滚蛋。。。太狠了,不兼容原创 2020-02-25 15:17:34 · 422 阅读 · 0 评论 -
在类里边调用函数
如果自己已有函数,可以直接调用,是别人的加一个类解析符就行原创 2020-02-25 14:18:00 · 931 阅读 · 0 评论 -
静态、动态
动态,程序员可以主动的手动分配静态:全局数据区、栈自动分配原创 2020-02-25 13:26:50 · 426 阅读 · 0 评论 -
成员变量的生命周期与函数的执行无关
成员变量不会因为函数的执行完毕而释放对象还在那里,所以可以返回对象,因为不释放原创 2020-02-25 12:35:49 · 398 阅读 · 0 评论 -
不多不少
有些东西重复多了,在某个环节给自动减掉;例如,重复引用包含声明类的时候,不行有些东西少了,在某环节补上,例如:声明了变量,但是没定义,没定义不使用没关系...原创 2020-02-25 12:30:24 · 173 阅读 · 0 评论 -
C++里面全是对象调用自己函数的方式,包括运算符的使用,其背后都是对本身的改造
到底是插入还是左移,由左边的对象调用。hello只是被接受的参数,函数体里边进行相应的操作。原创 2020-02-24 19:45:44 · 192 阅读 · 0 评论 -
流对象
文本是字符表示的,经过流解析成整数二进制码,这时候输出格式可以自己确定所有文件都是可以变成二进制码,本身不变,不以人的阅读为目的,只是人看不懂,东西还是那个东西...原创 2020-02-24 13:51:36 · 168 阅读 · 0 评论 -
数学里的东西
抛出两个错误,两个错误一起一步步经历筛选,还是每个错误一步步筛选。其实每个错误一步步筛选相当于和其他一起一步步筛选的一种特殊情况,一次扔几个错误进行一步步筛选流的概念,C里边是在一片区域读取,动的是读取的,在C++里边是读取的东西不动,被读的东西流动,这样单向的话,只能读一次...原创 2020-02-24 12:42:32 · 169 阅读 · 0 评论 -
利用默认的东西,看似废物
规定没进行任何操作时候,代表的含义出栈,释放是指内存空间可以被其他变量所占用。若在一段时间内释放的这个内存无人用,还是可以给其他变量的。...原创 2020-02-24 12:35:42 · 130 阅读 · 0 评论 -
正确的规则只能做百分之70的事情
比如默认拷贝拷贝不了指针指向新的复制的内存 空间比如赋值为运算符函数,不能处理this=that的情况,导致delect that自己,即使内存还在,但是再使用一次值就没了再比如throw在处理构造函数时候,中止于构造函数而没有值的存储空间已经由一进入函数的编译器或者new时候先分配好而不能执行析构函数,去释放值,释放内存空间...原创 2020-02-24 12:31:11 · 199 阅读 · 0 评论 -
类型转换
基本类型,窄的到宽的,不损失地自动转、对象自己有类型转换运算符对象被转,作为形参,原创 2020-02-23 12:36:44 · 126 阅读 · 0 评论 -
成员变量是指针的注意点
若使用成员拷贝,则指针指向同一块区域,不行,目的是指向拷贝一份相同存储空间区域过来若使用赋值运算符,则需要判断传入的参数不是自己,若是自己则指针指向的那份待拷贝空间没了,即使保留一段时间,但是再次拷贝出空间时候,值会消失,接下来没了拷贝的值...原创 2020-02-23 12:26:39 · 393 阅读 · 0 评论 -
引用的使用
引用在传递进来实参时候可以使用,这样不会赋值整个对象进来,只会给对象的地址,在函数返回类型如果可以使用的话,那么返回的不能是局部变量,不是局部变量的有:对象,全局变量为什么要返回对象的引用?答:不用拷贝,且对象相对于子函数是不会释放的,且还可以做左值赋值运算符函数...原创 2020-02-23 11:04:35 · 147 阅读 · 0 评论 -
静态对象(不受限于某个变化的东西,内存是全局的,且值是连续变化的)的构造一数和构造时机、静态成员
在函数里边存在静态对象,对象只构造一次,即和变量一样只初始化一次原创 2020-02-22 15:27:41 · 157 阅读 · 0 评论 -
深拷贝比浅拷贝丰富
浅拷贝只能做成员对象的拷贝,当成员变量是指针时候这种自动的浅拷贝就不行了,不行在指针指向同一块内存区域,这样析构时候会对同一块做两次,这样不行。...原创 2020-02-22 10:51:43 · 116 阅读 · 0 评论 -
传入与传出值研究
传入的值最好是引用或者指:有点:不用赋值值进入操作缺点:返回传出值如果是对象:那么返回类型是指针或者引用也无用,因为他们都是浮萍,出了栈,根释放了。拷贝可以,在释放之前拷贝,将生命传递出去,访问属性:临时对象可以做暂时的左值,不能长久,还是得释放...原创 2020-02-22 10:49:24 · 131 阅读 · 0 评论 -
(看待时)省掉不同的部分,看待相同的存储结构部分
向上造型,我们一定可以拿到对象的地址,只要知道成员变量的位置,就可以推算出在哪,这时候用指针变量间接修改一定可以确定的是修改的就是那个成员变量因为对象的存储结构是一定的,不变的...原创 2020-02-21 20:21:40 · 129 阅读 · 0 评论 -
初始化和赋值区别
赋值是第二次给值了初是第一次,常在定义时候原创 2020-02-21 18:31:05 · 267 阅读 · 0 评论 -
编译和运行时期各自干的事
编译时期是准备工作,比如插入头文件,插入内联,补充默认参数然后编译代码成二进制文件,在转文件类型时期就是内配内存的时候。挖好流淌的路径运行时期是具体的值时期,水流过哪里。...原创 2020-02-21 16:00:02 · 178 阅读 · 0 评论 -
兜底作用的默认参数
默认参数:若实参未给值,则编译器使用默认参数原创 2020-02-20 19:34:05 · 779 阅读 · 0 评论 -
初始化列表自动初始化成员变量,成员变量()/基类名称()的形式可能引起构造函数的调用,
初始化列表是早于调用类构造运行的,而且碰到有成员对象时候,必须自动调用成员对象类的构造函数的,如果忘记了不给参数,那么 调用的是默认构造函数(即没写表示不含参的构造)...原创 2020-02-20 12:19:07 · 208 阅读 · 0 评论 -
结构体和类的区别
成员的默认公私有不同类默认私有,不加关键字private的话相反。。。原创 2020-02-19 19:53:48 · 108 阅读 · 0 评论 -
就近服从原则-不进入原则
就近服从指的是:如果成员变量名和成员函数的形参一样的话,成员函数就不存在了;怎么破?分析;如果满足(就近),就近指的是成员变量和形参一样名称,就服从形参解决办法:不进入满足条件,就无就近原则一说具体表现,this->,或者给形参换个名称...原创 2020-02-19 18:21:14 · 181 阅读 · 0 评论 -
new/delect一张表记录对象关键信息的思想
当一张表可以记录所有相似的事情,比如申请所做的事情:即申请空间的地址和大小,那么这两个是代表了这个空间的关键信息,在释放空间时候,查表就能查到...原创 2020-02-19 17:57:43 · 141 阅读 · 0 评论 -
成员变量与成员函数区别
成员变量在每个对象只有一份,而必须等到建立对象才能使用的成员函数属于类的只有一份,每个对象共有原创 2020-02-19 12:59:13 · 715 阅读 · 0 评论 -
作用域/生命周期
作用域:能够被使用的范围生命周期:生命的诞生和死亡作用域的范围小于等于生命周期的范围原创 2020-02-19 12:19:46 · 1380 阅读 · 0 评论