C++
qq_45595832
这个作者很懒,什么都没留下…
展开
-
类型推导
,,,原创 2020-06-01 00:00:28 · 462 阅读 · 1 评论 -
函数模板
函数模板是通用的函数描述,它们使用泛型来定义函数,其中的泛型可用具体的类型替换。通过将类型作为参数传递给模板,可使编译器生成该类型的函数。由于模板允许以泛型(而不是具体类型)的方式编写程序,因此有时候也被称为通用编程。在标准C++98添加关键字typename之前,C++使用关键字class来创建模板。例如:在C++11中,可以将class替换为typename。模板的显示具体化假设有一个结构体,C++允许将一个结构体赋给另一个结构体,如果只想交换其中部分成员,则需要不同的代码。可以提供一个具体化原创 2020-05-24 21:40:41 · 190 阅读 · 0 评论 -
c++mu模板
C++模板:描述C++提供一种模板的机制来减少代码重复。比如:对于同一样函数使用不同的数据类型,int,double,char等。C++模板属于“元编程”的范畴。C++ 模板函数1.支持不同数据类型的函数重载:#include using namespace std;int square (int x){return x * x;};float square (float x){return x * x;};double square (double x){return x转载 2020-05-16 16:51:59 · 272 阅读 · 0 评论 -
c++中向上转型和向下转型,动态转换,和静态转换
子类转换为父类:向上转型,使用dynamic_cast<type_id>(expression),这种转换相对来说比较安全不会有数据的丢失;父类转换为子类:向下转型,可以使用强制转换,这种转换时不安全的,会导致数据的丢失,原因是父类的指针或者引用的内存中可能不包含子类的成员的内存。动态转换和静态转换,dynamic_cast<type_id>(expression),static_cast<type_id>(expression),表示的是将expression转换为转载 2020-05-09 20:00:40 · 1365 阅读 · 0 评论 -
继承
继承:是面向对象程序设计中使代码可以复用的重要手段,它允许程序员在原有类特性的基础上进行扩展增加功能。这样产生的新的类叫派生类。继承体现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。格式class DerivedClassName : access_label BaseClassName派生类名字 : 继承权限 父类名字继承关系public(is -a)可以把子类对象看...原创 2020-04-27 20:17:17 · 97 阅读 · 0 评论 -
成员函数、属性
成员函数、属性1、对私有属性添加set/get方法2、类内初始化3、static关键字1、static修饰类的成员(1)每一个对象都可调用同一个类的成员,实现共享,但一定要在类外初始化。(2)类的成员定义:也称为静态成员,属于类,不属于某个具体的对象。(3)类的成员访问形式:①对象名.类成员名;②类名::类成员名。注:第②种不需要先实例对象再访问,即下方示例第一条语句。(4)使用...原创 2020-04-13 15:47:18 · 539 阅读 · 0 评论 -
深拷贝与浅拷贝与移动构造函数
1、浅拷贝:对基本类型数据以及简单的对象直接复制内存的拷贝。但是,当类的成员包含指针的时候,使用浅拷贝是将拷贝对象的地址赋值给了新的对象,导致两个指针指向了同一块内存空间,这时候浅拷贝就不能满足实际要求了,需使用深拷贝。示例:Test (const Test&other){m_id = other.m_id;m.name = other.m_name;}2、深拷贝:当类持有其它...原创 2020-03-29 13:45:39 · 658 阅读 · 0 评论 -
C++的封装
C++的封装一、封装1、封装作用:对外提供接口,屏蔽数据,对内开放数据。2、C语言的封装:当单一变量无法完成描述需求的时候,封装成函数或结构体类型解决。问题:即知其接口,又可以直接访问其内部数据。注:C语言中的封装内容不能是函数(C++中的class可实现),结果可以是函数。3、C++的封装:class封装的本质,在于将数据和行为绑定在一起,再通过对象来完成操作。二、类与对象1、类...原创 2020-03-23 14:58:05 · 579 阅读 · 0 评论 -
string类
string类一、string类的字符操作1、string定义:可变长的字符串2、string字符串初始化,示例:(1) string s = “hello world”;(2) sting s1(“hello world2”);(3) string *ps = new string(“hello world3”);(4) string s4 = “”; //空字符串3、strin...原创 2020-03-20 09:15:50 · 85 阅读 · 0 评论 -
string的用法
C++ 语言是个十分优秀的语言,但优秀并不表示完美。还是有许多人不愿意使用C或者C++,为什么?原因众多,其中之一就是C/C++的文本处理功能太麻烦,用起来很不方便。以前没有接触过其他语言时,每当别人这么说,我总是不屑一顾,认为他们根本就没有领会C++的精华,或者不太懂C++,现在我接触 perl, php, 和Shell脚本以后,开始理解了以前为什么有人说C++文本处理不方便了。举例来说,如果...转载 2020-03-15 16:57:12 · 189 阅读 · 0 评论 -
const 在C和C++中的区别
const 在C和C++中的区别C++中的const正常情况下是看成编译期的常量,编译器并不为const分配空间,只是在编译的时候将期值保存在名字表中,并在适当的时候折合在代码中. 所以在C++中const修饰的量可以用在数组的定义中。而在C中,const是一个不能被改变的普通变量,既然是变量,就要占用存储空间,所以编译器不知道编译时的值.而且,数组定义时的下标必须为常量.在C语言中: co...原创 2020-03-10 08:15:15 · 74 阅读 · 0 评论 -
vscode编译C++的三种方法
本文链接:https://blog.csdn.net/Jeffxu_lib/article/details/86632400收起VScode编译C++主要有如下几种种方法。————————————————版权声明:本文为CSDN博主「Xu小亿」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/Jef...转载 2020-03-02 16:29:18 · 1114 阅读 · 0 评论