自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

y780465649的博客

再接再厉

  • 博客(20)
  • 收藏
  • 关注

原创 函数返回对象和返回对象的引用的区别

当返回对象时,C++编译器将调用类默认的拷贝构造函数,将对象赋值给一个匿名对象并将其扔出去这个类似于拷贝构造函数的第四种方法,此时如果外面没有同一个类型的对象将其接住,就会直接析构掉。若定义的是返回对象的函数,此处会直接返回对象本身不会再创建一个匿名对象  利用操作符重载的例子加以说明#include "iostream"using namesp

2016-08-27 17:05:43 6565 1

翻译 友元函数和友元类

友元函数是在类外面定义一个全局函数,并在类内声明成友元函数,这样在这个函数里面就可以修改类内的私有属性。#include "iostream"using namespace std; class A{public ://1、声明位置和public和private的位置无关 friend void modifyA(A *pa, int _a);//此处声明modifyA是类A的友元函数/

2016-08-27 16:58:25 480

转载 构造函数初始化列表

解决问题:在B类中,组合了一个A类对象(A类设计了构造函数),根据构造函数的调用规则,设计了A类函数就必须要调用,但是没有机会初始化A解决办法,在写B的构造函数的时候,把A写进去,语法为class A{public: A(int a,int a2) { this->a1 = a1; this->a2 = a2; }private: int a1; int a2;};

2016-08-27 16:48:31 475

原创 C++中类的四种构造函数

构造函数又分为4大类:1、无参数构造函数2、有参数构造函数3、赋值构造函数(copy构造函数)4、默认构造函数class test{public: test() { m_a = 1; m_b = 2; cout "这是无参数构造函数" endl; } test(int a) { m_a = a; cout "这是有一个参数构造函数" e

2016-08-27 16:42:33 16341 4

翻译 默认参数和占位参数

默认参数C++中可以在函数声明时为参数提供一个默认值,当函数调用时没有指定这个参数的值,编译器会自动用默认参数代替 void myprint(int x=5){cout"x="xendl;}void main(){myprint();//直接打印x=5;myprint(4);//直接打印x=4;}函数默认参数规则:    只有参数列表后面部分的参数才可以

2016-08-27 16:39:20 718

转载 C++中的重载

函数重载:用同一函数名定义不同的函数,当函数名和不同的参数搭配时函数的含义不同。函数重载至少满足一下的一个条件:        参数个数不同        参数类型不同        参数顺序不同函数的返回值不是函数重载的判断标准默认参数和重载在一起,会报错,产生二义性void func(int

2016-08-27 16:36:47 512

翻译 内联函数

内联函数在C语言中的实现方式 是使用#define//替换#define GETX3(N) N*N*N//1+2*1+2*1+2//函数 int getX3(int x)//类型安全{ return x*x*x;}void main(){ std::cout GETX3(1 + 2) std::endl; std::cout GETX3((1 + 2)) std::endl;

2016-08-27 16:35:20 433

原创 引用(普通引用)

引用引用一个指针& 放在*的右边  void change (myclass *&p){ }int &i=j  等价于  int *const i=j;int a ;int &b=a;//引用定义时必须初始化//此时b就已经建立了对a的引用引用的本质上是为了方便程序员间接修改变量的程序编写,不需要使用指针,编译器在内部已经做了。

2016-08-08 21:24:00 320

原创 C++对C语言的加强

1、对strcut关键字的加强,在C语言中struct Teacher{int age;char name[64];}; 定义一个Teacher,必须写成struct Teacher t1;而C++中则可以直接写Teacher t1;在C++中的结构体内可以直接定义函数,也可以定义访问权限类其实就是结构的数据成员加可执行代码,统一提供封装,继承,多态

2016-08-08 21:22:54 399

转载 C语言文件读函数fgets()

fgets(..)    原型  char *  fgets(char * s, int n,FILE *stream);    参数:         s: 字符型指针,指向存储读入数据的缓冲区的地址         n: 从流中读入n-1个字符         stream : 指向读取的流。    返回值:          

2016-08-08 21:16:47 799

转载 #include “”和#include<>的区别

#include“” 在本地文件夹下寻找这个头文件#include

2016-08-08 21:15:14 413

转载 int 和short int的区别

1、C/C++ 规定int字长和机器字长相同2、操作系统字长和机器字长未必一致3、编译器根据操作系统字长来定义int字长整形变量是不是32位之歌问题不仅仅与cpu架构有关,而且与编译器有关,所以int可以为32位或者16位,而short为短整形变量,只能为16位

2016-08-08 21:12:01 15208 1

翻译 函数指针做函数参数的意义

int Oper(int (*MyPointerFuncAdd)(int a,int b)){int c=MyPointerFuncAdd(5,6);//间接调用}实现了函数调用和任务的编写可以分开。这样的话,这要是这个函数类型的函数,传入不同的函数名,就能执行不同的函数体,用这种方法实现了类似于C++中的多态的形式。在工程中,函数指针主要是正向调用和反向调

2016-08-08 21:10:52 4153

翻译 数组指针和函数指针详解

数组指针和函数指针两个都有三种用法,形式也类似1、定义一个数组类型2、定义一个数组指针类型3、定义一个指向数组类型的指针  数组类的指针void main(){int a[10];//a代表的是数组首元素的地址,&a代表整个数组的地址,步长不一样//定义一个数组类型typedef int (myTypeArray )[10];myTypeArray myArray;my

2016-08-08 21:09:46 295

转载 const在C与C++的区别

const 变量的增强C语言中的const修饰的变量,编译器会为其在栈上分配内存空间,因此可以使用指针取地址赋值的方式,对变量的值进行修改。C语言中的const变量是一个冒牌货。注意此时在C语言中被const以后是一个只读变量,而不是常量,所以不能做数组的下标;只有常量才能做数组的下标。而在C++中,const修饰的是一个常量,所以可以作为数组下标。

2016-08-08 21:08:36 290

转载 字符指针和字符数组

所有的字符串常量都被放在全局区的静态存储区这歌笔记只为说明一个问题char str1[]="abcd";char str2[]="abcd"; const char str3[]="abcd";//被const修饰的数组,如果是局部变量是存放在栈上的只读数组,不能修改const char str4[]="abcd"; const char str5[]="abcd";const c

2016-08-08 21:07:34 203

翻译 指针的理解

指针是一种数据类型间接赋值(*p)是指针存在的最大意义理解指针必须和内存四区相概念结合应用指针必须和函数调用相结合一级指针典型用法(指针做函数参数)               理解:主调函数分配内存,还是被调函数分配内存                          被调函数是在(heap堆/stack)上分配内存二级指

2016-08-08 21:06:46 284

翻译 static在C语言中主要是两种用法

static在C语言中主要是两种用法1、修饰局部变量2、修饰函数和全局变量局部变量按照存储形式来分,分为auto,static,register首先从内存四区的角度去看,auto即为普通的局部变量,存储在栈上,当函数结束时,随之释放。register为寄存器变量,存放在寄存器里面,调用速度快。在C语言中register变量不能取地址,会报

2016-08-08 21:05:10 20849 1

转载 Memwatch使用说明

linux下的测试工具真是少之又少,还不好用,最近试用了memwatch,感觉网上的介绍不太好,所以放在这里跟大家分享 。其实大部分都是看的帮助,很多地方翻译得不好还有错,请原谅指出最好看原文。如果转载或引用,请注明我的博客地址,谢谢。 1介绍MemWatch由 Johan Lindh 编写,是一个开放源代码 C 语言内存错误检测工具。MemWatch支持 ANSI C,它提供结果日志纪录

2016-08-08 21:04:08 1017

转载 内存四区

非原创,之前搜集的一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、

2016-08-08 20:59:50 327

空空如也

空空如也

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

TA关注的人

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