随笔分类 -  C++

摘要:函数调用过程解析 func里的a存储在调用fun函数时开辟的栈空间里,这块栈只在调用func时对func可用,调用结束后返回的a,其实是暂存在寄存器里的(一般情况下是eax),而返回到main里时,main又会把返回的值拷贝到自己所有的栈空间里(在这里是以临时变量的形式)。所以不管是func还是ma 阅读全文
posted @ 2018-06-13 10:56 CTHON 阅读(1258) 评论(0) 推荐(0) 编辑
摘要:new 和 delete 是 C++ 用于管理 堆内存 的两个运算符,对应于 C 语言中的 malloc 和 free,但是 malloc 和 free 是函数,new 和 delete 是运算符。除此之外, new 在申请内存的同时,还会调用对象的构造函数,而 malloc 只会申请内存; del 阅读全文
posted @ 2018-06-12 23:50 CTHON 阅读(580) 评论(0) 推荐(0) 编辑
摘要:参考自:https://blog.csdn.net/sunSHINEEzy/article/details/78122485 构造函数之默认构造函数(调用的构造函数不用传递参数) 两种实例化方式都是默认构造函数 构造函数之初始化列表 参考自:https://blog.csdn.net/sunSHIN 阅读全文
posted @ 2018-06-12 23:02 CTHON 阅读(16130) 评论(0) 推荐(1) 编辑
摘要:我们知道在C++的创建对象是一个费时,费空间的一个操作。有些固然是必不可少,但还有一些对象却在我们不知道的情况下被创建了。通常以下三种情况会产生临时对象: 1,以值的方式给函数传参; 2,类型转换; 3,函数需要返回一个对象时; 现在我们依次看这三种情况: 一,以值的方式给函数传参。 我们知道给函数 阅读全文
posted @ 2018-06-12 15:57 CTHON 阅读(20576) 评论(0) 推荐(4) 编辑
摘要:先来说说C和C++中结构体的不同 a) C语言中的结构体不能为空,否则会报错 1>d:\myproject\visual studio 2013\projects\myc++\main.c(71): error C2016: C 要求一个结构或联合至少有一个成员 b) C语言中的结构体只涉及到数据结 阅读全文
posted @ 2018-06-11 23:31 CTHON 阅读(9709) 评论(1) 推荐(0) 编辑
摘要:C++中的引用: 引用引入了对象的一个同义词。定义引用的表示方法与定义指针相似,只是用&代替了*。引用(reference)是c++对c语言的重要扩充。引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。 其格式为:类型 &引用变量名 = 已定义过的变量名。 引用的特点: ①一 阅读全文
posted @ 2018-06-11 20:19 CTHON 阅读(7758) 评论(0) 推荐(3) 编辑
摘要:1、const基础知识(用法、含义、好处) const在 * 左边,变量为const; const在 * 右边,指针为const. int func1(const) 初级理解:const是定义常量==》const意味着只读 const好处 //合理的利用const 1、指针做函数参数,可以有效的提高 阅读全文
posted @ 2018-06-11 13:50 CTHON 阅读(4222) 评论(0) 推荐(2) 编辑
摘要:一、namespace命名空间 1.C++命名空间基本常识所谓namespace,是指标识符的各种可见范围。c++标准程序库中的所有标识符都被定义与一个名为std的namespace中。 1.1:<iostream>和<iostream.h>格式不一样,前者没有后缀,实际上,在你的编译器includ 阅读全文
posted @ 2018-06-11 11:05 CTHON 阅读(314) 评论(0) 推荐(0) 编辑
摘要:1. 引入inline关键字的原因 在c/c++中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了inline修饰符,表示为内联函数。 栈空间就是指放置程序的局部数据(也就是函数内数据)的内存空间。 在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈空间不足而导致程序 阅读全文
posted @ 2018-06-07 19:42 CTHON 阅读(9027) 评论(0) 推荐(2) 编辑
摘要:高级版参考:https://blog.csdn.net/u010700335/article/details/40979037 阅读全文
posted @ 2018-06-06 23:09 CTHON 阅读(319) 评论(0) 推荐(0) 编辑
摘要:C++中经常使用一个常量或变量初始化另一个变量,例如: double x=5.0; double y=x; 使用类创建对象时,构造函数被自动调用以完成对象的初始化,那么能否象简单变量的初始化一样,直接用一个对象来初始化另一个对象呢? 答案是肯定的,以point类为例: point pt1(2,3); 阅读全文
posted @ 2018-06-06 21:41 CTHON 阅读(21262) 评论(0) 推荐(3) 编辑