摘要: #include using namespace std; //值传递 void change1(int n){ cout<<"值传递--函数操作地址"<<&n<<endl; //显示的是拷贝的地址而不是源地址 n++; } //引用传递 void change2(int & n){ cout<<"引用传递--函数操作地址"<<&n<<endl; ... 阅读全文
posted @ 2019-03-06 16:23 Love63 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 一、#define的基本定义 1、 #define的概念 #define命令是C语言中的一个宏定义,它用来将一个标识符定义为一个字符串,该标识符称为宏名,被定义的字符串称为替换文本。 该命令有两种格式:一种是简单的宏定义;另一种是带参数的宏定义。 (1)简单的宏名(定义符号常量) #define < 阅读全文
posted @ 2019-03-06 09:37 Love63 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 1、strlen函数 函数原型:extern unsigned int strlen(char *s); 作用:strlen所作的仅仅是计数器的工作,它从内存的某个位置开始扫描,直到碰到第一个字符串结束符'\0',然后返回计数器的的值(长度不包含'\0')。2、strcmp函数 函数原型:extern int strcmp(const char *s1,const char *s2); 作... 阅读全文
posted @ 2019-03-03 22:58 Love63 阅读(525) 评论(0) 推荐(0) 编辑
摘要: #include < >引用的是编译器的类库路径里面的头文件#include " "引用的是你程序目录的相对路径中的头文件,在程序目录的相对路径中找不到该头文件时会继续在类库路径里搜寻该头文件。 阅读全文
posted @ 2019-02-27 22:49 Love63 阅读(259) 评论(0) 推荐(0) 编辑
摘要: extern可用来修饰变量、函数和进行链接指定 extern "C"。 1、extern用于修饰全局变量和函数 (1)在同一个文件中extern 修饰全局变量 如果全局变量不在文件的开头定义,有效的作用范围将只限于其定义处到文件结束。如果在定义点之前的函数想引用该全局变量, 则应该在引用之前用ext 阅读全文
posted @ 2019-02-27 22:37 Love63 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 区别: 1、指针传参被调用函数的指针变量在栈内存中重新申请内存。 2、指针引用传参被调用函数的指针变量与调用函数的指针变量共用一块空间。 阅读全文
posted @ 2019-02-01 15:41 Love63 阅读(881) 评论(0) 推荐(0) 编辑
摘要: 32位和64位系统下 int、char、long、double所占内存 阅读全文
posted @ 2019-01-29 23:02 Love63 阅读(788) 评论(0) 推荐(0) 编辑
摘要: 非成员友元函数、成员友元函数和友元类 1、友元的作用: (1)友元提供了不同类的成员函数之间、类的成员函数与一般函数之间进行了数据共享的机制; 2、友元的优点和缺点 优点:提高程序的运行效率; 缺点:破坏了类的封装性和数据隐藏性,导致程序的可维护性变差; 3、特点: (1)友元函数是可以直接访问类的 阅读全文
posted @ 2019-01-29 22:49 Love63 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 1、封装 定义:将某些东西包装隐藏,让外界无法直接访问,只能通过某些特定的方式访问。 目的:增强安全性,简化编程,使用者不用了解具体的实现细节,而只是通过外部接口以及特定的访问权限来使用类的成员。 2、继承 定义:新类从已有类那里得到已有的特性; 3、多态 定义:一个接口的多种实现; 动态多态:在程 阅读全文
posted @ 2019-01-17 21:43 Love63 阅读(143) 评论(0) 推荐(0) 编辑
摘要: C++:构造函数和析构函数能否为虚函数? 简单回答是:构造函数不能为虚函数,而析构函数可以且常常是虚函数。 (1) 构造函数不能为虚函数 编译器会为每个含有虚函数的类创建一个虚函数表,在创建对象时会创建一个虚函数表指针指向虚函数表。如果构造函数是虚函数,则需要用对象来调用构造函数,构造函数之前对象还 阅读全文
posted @ 2019-01-17 11:08 Love63 阅读(344) 评论(0) 推荐(0) 编辑