
C++基础
文章平均质量分 72
面对对象为主的C++基础
大胡子的艾娃
业精于勤荒于嬉,行成于思毁于随。
展开
-
TiXml使用详解
https://blog.youkuaiyun.com/cjjwwss/article/details/12746131原创 2022-05-06 00:54:52 · 1353 阅读 · 0 评论 -
C/C++程序内存的分布
一、一个C/C++编译的程序占用内存分为以下几个部分:栈区(stack):由编译器自动分配与释放,存放为运行时函数分配的局部变量、函数参数、返回数据、返回地址等。其操作类似于数据结构中的栈。堆区(heap):一般由程序员自动分配,如果程序员没有释放,程序结束时可能有OS回收。其分配类似于链表。全局区(静态区static):存放全局变量、静态数据、常量。程序结束后由系统释放。全局区分为已初始化全局区(data)和未初始化全局区(bss)。常量区(文字常量区):存放常量字符串,程序结束后有系统释放。代原创 2022-04-09 20:54:30 · 3309 阅读 · 2 评论 -
C++函数重载、重写与重定义
一、重写二、重定义三、重载类型转换模板参数重载原创 2021-06-30 23:49:01 · 1187 阅读 · 5 评论 -
C++ 函数重载 指针类型匹配到bool类型
如有错误的地方欢迎指正,谢谢!如题,今天遇到一个很奇怪的问题,简化示例代码如下:#include <iostream>#include <string> class TestClass{public: void TestFunction(const std::string& test_string) { std::cout << "string function!" << std::endl; } void TestFunc转载 2021-06-15 19:20:29 · 787 阅读 · 0 评论 -
函数返回值
@著作权归作者所有:来自优快云博客作者大胡子的艾娃的原创作品,如需转载,请注明出处https://blog.youkuaiyun.com/qq_43148810,否则将追究法律责任。如有错误的地方欢迎指正,谢谢!一、定义返回T或const T类型对象treturn t;调用一次拷贝构造return T();返回一个临时对象,创建临时对象调用构造,return不调用T类的拷贝构造。二、定义返回T*类型指针treturn &t;return不调用T类的拷贝构造,只是将T类型的指针拷贝了原创 2020-10-23 00:53:44 · 623 阅读 · 0 评论 -
C++之assert()断言(宏)
@著作权归作者所有:来自优快云博客作者大胡子的艾娃的原创作品,如需转载,请注明出处https://blog.youkuaiyun.com/qq_43148810,否则将追究法律责任。如有错误的地方欢迎指正,谢谢!一、assert()简介断言,是宏,而非函数。assert 宏的原型定义在 < assert.h >(C)和< cassert >(C++)中,其作用是如果它的条件返回...原创 2020-02-11 17:25:19 · 986 阅读 · 0 评论 -
C++之friend友元(友元函数和友元类)
@著作权归作者所有:来自优快云博客作者大胡子的艾娃的原创作品,如需转载,请注明出处https://blog.youkuaiyun.com/qq_43148810,否则将追究法律责任。如有错误的地方欢迎指正,谢谢!一、友元在C++中,类具有封装性和隐蔽性,类的数据成员一般都定义为私有成员,成员函数一般都定义为公有的,以此提供类与外界的通讯接口。但是,某些成员函数频繁调用时,由于函数参数的传递、C++严格...原创 2020-02-11 16:05:14 · 1417 阅读 · 0 评论 -
C++之多态性
@著作权归作者所有:来自优快云博客作者大胡子的艾娃的原创作品,如需转载,请注明出处https://blog.youkuaiyun.com/qq_43148810,否则将追究法律责任。如有错误的地方欢迎指正,谢谢!一、概念1、多态性是面向对象程序设计的重要特性之一。2、多态是指同样的消息被不同类型的对象接收时导致完全不同的行为。3、消息是指对类的成员函数的调用,不同的行为是指不同的实现,也就是调用了...原创 2020-02-11 00:20:45 · 3289 阅读 · 0 评论 -
C++之类型兼容
@著作权归作者所有:来自优快云博客作者大胡子的艾娃的原创作品,如需转载,请注明出处https://blog.youkuaiyun.com/qq_43148810,否则将追究法律责任。如有错误的地方欢迎指正,谢谢!更多内容请关注个人博客:https://blog.youkuaiyun.com/qq_43148810...原创 2020-02-11 00:16:27 · 2831 阅读 · 0 评论 -
内存总结之返回对象占用字节数操作符sizeof
@著作权归作者所有:来自优快云博客作者大胡子的艾娃的原创作品,如需转载,请注明出处https://blog.youkuaiyun.com/qq_43148810,否则将追究法律责任。如有错误的地方欢迎指正,谢谢!申明:sizeof() 是一个判断数据类型或者表达式长度的运算符。sizeof() 的处理都是在编译阶段进行。其作用就是返回一个对象或者类型所占的内存字节数。一:sizeof求基本数据类型所占...原创 2019-03-16 12:32:16 · 1141 阅读 · 0 评论 -
C++之#define宏定义
@著作权归作者所有:来自优快云博客作者大胡子的艾娃的原创作品,如需转载,请注明出处https://blog.youkuaiyun.com/qq_43148810,否则将追究法律责任。如有错误的地方欢迎指正,谢谢!宏定义可以实现类似于函数的功能,但是它终归不是函数,而宏定义中括弧中的“参数”也不是真的参数,在宏展开的时候对 “参数” 进行的是一对一的替换。建议:宁可以编译器替换预处理器(尽量以 cons...原创 2019-03-14 10:30:32 · 438 阅读 · 0 评论 -
C++之inline内联函数
@著作权归作者所有:来自优快云博客作者大胡子的艾娃的原创作品,如需转载,请注明出处https://blog.youkuaiyun.com/qq_43148810,否则将追究法律责任。如有错误的地方欢迎指正,谢谢!一、inline内联函数特征1、相当于把内联函数里面的内容写在调用内联函数处;2、相当于不用执行进入函数的步骤,直接执行函数体;3、相当于宏,却比宏多了类型检查,真正具有函数特性;4、函...原创 2019-03-12 09:00:57 · 303 阅读 · 0 评论 -
C++之this指针
@著作权归作者所有:来自优快云博客作者大胡子的艾娃的原创作品,如需转载,请注明出处https://blog.youkuaiyun.com/qq_43148810,否则将追究法律责任。如有错误的地方欢迎指正,谢谢!一、 this指针概念this指针是一个系统预定义、隐含于每一个非静态成员函数中的特殊指针,他总指向正在被该成员函数操作的对象。解释1:系统利用this指针明确指出成员函数当前操作的数据成员...原创 2019-03-10 18:44:56 · 1493 阅读 · 0 评论 -
publice、protected和private三种存取控制属性&继承与派生
一、无继承与派生的三种存取属性注意:三种存取属性是否能访问的对象,一定要分清楚是类的对象还是类的成员(成员函数)。1、public(公有属性)本类所以对象和本类成员都可以直接访问。2、private(私有属性)本类成员都可直接访问,本类对象无法直接访问。提示:本地对象间通过访问公有成员函数来访问私有成员。3、protected (保护属性)无继承与派生和private(私有属性)性...原创 2018-10-26 22:54:01 · 2943 阅读 · 0 评论 -
C++之virtual(虚)关键字:虚基类(虚继承);虚函数和纯虚函数
@著作权归作者所有:来自优快云博客作者大胡子的艾娃的原创作品,如需转载,请注明出处https://blog.youkuaiyun.com/qq_43148810,否则将追究法律责任。如有错误的地方欢迎指正,谢谢!一、虚基类1、为什么要虚基类或者说虚继承:a、直接二义性可以用作用域与同名覆盖的方法来消除(看程序注释),但是间接二义性(同名数据成员在内存中同时拥有多个拷贝,同一个成员函数会有多个映射,多...原创 2018-10-29 21:55:10 · 3726 阅读 · 0 评论 -
C++函数传参
一、 形参和实参的区别实参(argument):在调用时传递给函数的参数。 实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。实参不能作用于被调用函数中,即传值后在被调用函数中不能使用。形参(parameter):由于它不是实际存在变量,所以又称虚拟变量。是在定...原创 2018-10-21 19:07:06 · 1006 阅读 · 1 评论 -
C++之static关键字的作用
@著作权归作者所有:来自优快云博客作者大胡子的艾娃的原创作品,如需转载,请注明出处,否则将追究法律责任。如有错误的地方欢迎指正,谢谢!一、 static声明全局静态变量和局部静态变量1、static声明全局静态变量该全局变量只能供本模块使用,不能被其他模块再声明extern变量。2、static声明局部静态变量静态局部变量可以理解为是一个供函数局部存取的全局变量a、生存期为整个源程...原创 2018-10-25 19:02:31 · 920 阅读 · 1 评论 -
C++之const关键字的几种用法
一、常变量const 数据类型 变量名 = 值;例如:const int i = 1;i = 2;//错误//const int j ;j = 1;错误声明的同时必须初始化,虽为变量,但是不能更新其值。储存数据区域和定义位置(全局,函数内,类中等)有关。二、常引用const 数据类型 &amp;amp;amp;amp;amp;amp;amp;amp;amp; 引用变量名 = 变量名;例如:int i = 1;const int j = ...原创 2018-10-20 23:57:12 · 1038 阅读 · 1 评论