自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 引用计数+写时拷贝

在我的理解来看,引用计数可以解决一块空间被多次释放的问题;写时拷贝可以解决一个对象内容改变影响另一个对象内容的问题。针对一个对象空间有多个引用计数的问题,不会被多次释放。 用静态的引用计数变量(只适合有一个对象空间)#include<iostream>using namespace std;class String{public: String(const char*str =

2017-10-30 21:28:39 326

原创 深浅拷贝

浅拷贝:当调用拷贝构造函数后,两个对象指向一块空间。#include<iostream>using namespace std;class String{public: String(const char* str ) //构造函数 :_str(new char[strlen(str)+1]) { strc

2017-10-25 18:13:52 206

原创 论构造函数和拷贝构造函数的调用情况(优化)

构造函数是在对象创建的时候调用的,拷贝构造函数是用已经建立好的对象来初始化新对象,那么拷贝构造函数在什么情况下还可以调用呢?1,对象作为参数以值传递形式传入函数体; 2,对象作为返回值一值传递形式从函数体返回。那么重点来了。。。编译器进行优化是在什么情况下呢?没错,就是基于以上两种情况。 下面根据实例详细说明:Test1中调用了 2 次AA的拷贝构造函数, 1 次AA的赋值运算符函数的重载。a1

2017-10-24 21:35:39 561

原创 运算符的重载

函数名:operator 运算符 运算符重载之后不能改变运算符的优先级,结合性,运算符操作数的个数。 注:不能重载的运算符 指针访问运算符( .* ) ; 与运算符( :: ) ; 大小运算符( sizeof ) ; 条件运算符( ?:);成员运算符(.).#include#include#includeusing namespace std;class Date{

2017-10-18 19:47:54 398

原创 喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以买多少汽水

这道题主要是考察编程逻辑,一定要分清奇数个空瓶和偶数个空瓶,还有终止循环的条件。int main() { int _bottle = 0;//当空瓶为奇数个时,表示剩下的瓶子 int money = 20; int count = 0;//总共的汽水数 int bottle=0;//空瓶数 if (money > 0) {

2017-10-10 20:07:00 1203

原创 一个数组只有两个数字出现一次,其他数字都出现两次,找出这两个数

这道题根据异或运算的性质:任何数和自己异或都等于0。 用0依次和数组中的每个元素进行异或,出现两次的数字通过异或会相互抵消,最后剩下的就是只出现一次的数字。剩下的两个数不相等,异或的话至少有一位是为1的,二进制对应位也不相同。 1.得到0与数组中各元素依次异或的结果; 2.找到依次异或后的结果中为1的位置并标记,根据标记位是否为1进行分组; 2.将原数组分为两组,每组都含有一个只出现一次的...

2017-10-10 19:59:09 2129 5

原创 类的默认成员函数

类的默认成员函数 构造函数 构造函数是为了初始化在类中定义的私有成员变量,且在定义创建对象时自动执行一次的公有成员函数。 专属特征: 1>,构造函数的函数名与类名相同,且无返回值; 2>,构造函数定义在类内类外都是可以的,定义在类外时要用 :: 进行说明是哪个类; 3>,构造函数支持重载; 4>,构造函数是特殊的成员函数没有隐含的this形参; 5>,构造函数在实例化对象是自动调用,

2017-10-07 08:57:54 454

原创 “指针”难易题型

1.写出下列程序的输出结果:int main(){ int arr[5]={1,2,3,4,5}; int *ptr=(int*)(&arr+1);//取出数组arr的地址,加1表示跳过整个数组,ptr指向的是5后面的地址 printf("%d %d\n",*(arr+1),*(ptr-1)); //*(arr+1)表示取出数组arr的首地址,加1表示指向第二个元素

2017-10-06 12:52:13 487

原创 类和对象基础

面向对象的三大特点:封装、继承、多态类和对象的关系 1>,类是对象的抽象,对象是类的实例化; 2>,定义一个类并没有分配实际的内存空间进行存储,而对象占有内存空间。 植物——类 松树——对象类的声明和对象的定义 首先介绍一些基础知识 访问限定符: public : 公有访问限定符; private : 私有访问限定符; protected : 受保护的访问限定符。 注: 1>,

2017-10-06 11:07:55 321

空空如也

空空如也

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

TA关注的人

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