自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 关键字-Function使用总结

1.为什么要使用function C++语言有几种函数调用对象:函数,函数指针,lambda表达式,bind创建的对象 以及重载了函数调用运算符的类。 对于几个可调用的对象共享同一种调用形式的情况,有时我们会希望把他们看成具有 相同类型。但问题不同的可调用对象之间并不无法直接赋值。//普通函数int add(int i, int j){ return i + j;}//lambda表达式,其...

2018-02-23 08:53:59 2221

原创 类-重载运算符

1.什么情况下重载的运算符与内置运算符有什么异同?区别:    ①重载操作符必须至少有一个class类或枚举类型;    ②重载操作符不保证操作数的求值顺序(逗号,取地址,逻辑与和逻辑或(,&,&&,||)), 例如:对&&与||的重载版本不再支持“短路求值”的特性,两个操作数都要进行求值, 而且不规定操作数的求值顺序;相同:    对于优先级、结合性、操作...

2018-02-22 18:29:28 1847

原创 类-unique_ptr实现原理

1.管理内存的原理C++新标准库中采两个智能指针类型来管理动态对象,share_ptr允许多个指针指向同一个对象;unique_ptr则“独占”所指对象。对于unique_ptr<T>我们可以按如下方式使用去管理堆内存,相比于new,省去使用delete去释放内存的麻烦。void use_factory(T arg){ unique_ptr_ptr<Foo> p = f...

2018-02-09 12:14:49 4341

原创 类-share_ptr实现原理

1.引用计数管理内存的原理C++新标准库中采两个智能指针类型来管理动态对象,share_ptr允许多个指针指向同一个对象;unique_ptr则“独占”所指对象。对于share_ptr<T>我们可以按如下方式使用去管理堆内存,相比于new,省去使用delete去释放内存的麻烦。void use_factory(T arg){ share_ptr<Foo> p = fac...

2018-02-09 10:51:34 3222

原创 类-构造与析构执行顺序详解

 1.示例说明  以下面的程序说明函数的执行顺序:  1)定义String类,构造和析构会打印其中的字符串  2)定义一个基类Base,类中含有两个String  3)从基类Base派生出Derive类,类中含有一个String  每个类函数成员都会将执行函数名打印出来。struct String{ String(const string& s = ""):str(s) {cout...

2018-02-08 21:03:59 642

原创 类-自动合成的函数

1.类可以自动合成哪些函数? 总共有六类: 1)默认构造函数(constructor), 2)拷贝构造函数(copy constructor), 3)拷贝赋值函数(copy assignment),   4)析构函数(destructor),    5)移动构造函数(move constructor),  6)移动赋值函数(move assignment). 构造:直接分配内存并初始化创建一个对象...

2018-02-08 17:20:15 487

原创 类-构造、析构、拷贝、移动使用总结

2018-02-08 16:09:56 389

原创 关键字-static使用总结

1.什么是静态成员?  语句声明之前带关键字static的成员,可以是函数也可以是数据,静态成员不是任意单独对象的组成部分,而是该类全体对象所共享的。2.有何优点? 1) 作用域位于类的范围之内,避免与其他类的成员或者全局作用域的名字冲突。 2)可以是私有成员,而全局对象不可以。3)相比全局变量,静态成员与特定类的关系容易理解,程序含义清晰。4)通过静态数据成员可以

2018-02-03 22:44:07 295

原创 关键字-const使用总结

1.const定义变量时初始化流程。    分为运行时初始化和编译时初始化两种。const int i = get_size(); //运行时初始化const int j = 43; //编译时初始化2.为什么在默认情况下,const对象仅在本文件内有效?     当以编译时初始化的方式定义一个const对象时,如下  const int j = 43; //

2018-02-03 18:18:48 540

原创 关键字-inline内联函数

1.为什么使用内联函数及其原理 作用:消除函数调用开销,用于优化规模小、流程直接、频繁调用的函数。 理解:将内联函数在其调用点“内联的”展开。 注意:内联函数只是向编译器发出一个请求,编译器在进行编译时是可以忽略这个请求的//定义内联函数inline const string& shorterString(const string &s1, const string &s2)

2018-02-03 15:19:48 356

原创 类-类型成员

1.什么是类的类型成员    比如string::size_type就是string类中的某一个类型成员,是类自定义的某种类型在类中的别名。2.类型成员的定义方法   1.类型成员与其他成员一样存在访问限制,即可用private和public进行修饰。   2.定义类型成员可以使用typedef和using关键字。class Screen {public: typ

2018-02-03 14:49:48 3837

原创 关键字-friend使用

1.什么时候使用?   当非成员函数需要访问类的私有成员时,我们可以把它声明为该类的友元。2.有什么利弊?   利:友元可以“工作在类的内部”,像类的成员一样访问类的所有数据和函数。   弊:使用不慎,可能会破坏类的封装性。3.具体的使用场景举例   友元分为友元函数(非成员函数和其他类的成员函数)和友元类class Sales_data { //类别1:非成

2018-02-03 13:00:41 902

stack实现运算表达式(C++实现)

使用c++标准库实现如"3+(3*5)"字符串的运算解析,本例子在Dev C++11中编译运行正常

2018-04-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除