随笔分类 -  C++

上一页 1 2 3 下一页
C++类和结构体的区别
摘要:C++类和结构体的区别? 结构体默认数据访问控制是public; 类默认数据访问控制是private; (在C中,结构体是数据类型,只能定义数据类型不能定义函数) 阅读全文
posted @ 2019-03-17 22:21 Love63 阅读(386) 评论(0) 推荐(0)
C++内联函数、宏定义和普通函数的区别
摘要:C++内联函数、宏定义和普通函数的区别? 宏定义:在预处理阶段进行简单的文本替换,不会进行参数类型检查; 内联函数:编译器会在每次调用内联函数的地方直接将内联函数的内容展开,这样可以省去函数压栈和出栈的开销提高效率,会进行参数类型检查; 普通函数:在函数调用时,跳转到函数地址执行代码; 阅读全文
posted @ 2019-03-17 22:19 Love63 阅读(332) 评论(0) 推荐(0)
C++指针和引用的区别
摘要:C++指针和引用的区别 (1)当引用创建时,必须被初始化。指针可以在任何时候初始化。 (2)一旦一个引用被初始化指向一个对象,它就不能被改变成为另一个对象的引用。而指针可以在任何时候指向另一个对象。 (3)不可能为NULL引用,但可以有空指针。 (4)指针可以有多级,但是引用只能是一级(int ** 阅读全文
posted @ 2019-03-12 22:44 Love63 阅读(147) 评论(0) 推荐(0)
C++指针函数和函数指针
摘要:1、函数指针(指向函数的指针) int (*fun2)(int x); fun2与" * " 先结合,构成了一个指针的定义,指针变量名为fun2, int 修饰的是函数的返回值。函数在这里没有名字,是个匿名的函数。 2、指针函数 (返回值为指针的函数) int *fun1(int x); " () 阅读全文
posted @ 2019-03-10 22:25 Love63 阅读(195) 评论(0) 推荐(0)
C++ 指针数组和数组指针
摘要:(1)指针数组 (存储指针的数组) int *p1[10]; " [] "的优先级高于" * ",所以p1与" [] "先结合,构成一个数组的定义,int * 修饰的是数组的内容,即数组的每个元素。 (2)数组指针 (指向数组的指针) int (*p2)[10]; " () "的优先级高于" [] 阅读全文
posted @ 2019-03-10 22:15 Love63 阅读(359) 评论(0) 推荐(0)
C++ static关键字
摘要:一、面向过程中的static 1、修饰全局变量(静态全局变量) (1)静态全局变量在全局数据区分配内存; (2)静态全局变量在声明处初始化,未经初始化的静态全局变量会被程序自动初始化为0; (3)静态全局变量的作用域在声明它的整个文件是可见的,而在文件之外是不可见的。 2、修饰局部变量(静态局部变量 阅读全文
posted @ 2019-03-10 21:58 Love63 阅读(118) 评论(0) 推荐(0)
const和#define的区别
摘要:const和#define都是用来定义常量。 const和#define的区别? (1)#define在预处理阶段起作用;const在编译和运行阶段起作用; (2)#define只是简单的字符串替换,没有类检查;const有类型检查。 (3)#define常量不能进行调试; const常量可以进行调 阅读全文
posted @ 2019-03-10 21:25 Love63 阅读(136) 评论(0) 推荐(0)
sizeof和strlen的区别
摘要:1、sizeof和strlen的区别? strlen是函数,参数必须为字符指针;在运行时才计算,用来计算字符串的长度,遇到第一个NULL('\0')结束(不包括'\0')。 sizeof是运算符,参数可以是变量和数据类型; 在编译时计算,计算变量占用的内存空间(不是实际大小)。 当数组名作为参数时, 阅读全文
posted @ 2019-03-10 21:17 Love63 阅读(118) 评论(0) 推荐(0)
typedef关键字
摘要:typedef关键字作用:为一种数据类型定义一个新的名字。(数据类型包括内部数据类型(int, char等)和自定义数据类型struct) 阅读全文
posted @ 2019-03-10 21:00 Love63 阅读(106) 评论(0) 推荐(0)
C++值传递、引用传递和指针传递
摘要:#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 阅读(149) 评论(0) 推荐(0)
C++宏定义
摘要:一、#define的基本定义 1、 #define的概念 #define命令是C语言中的一个宏定义,它用来将一个标识符定义为一个字符串,该标识符称为宏名,被定义的字符串称为替换文本。 该命令有两种格式:一种是简单的宏定义;另一种是带参数的宏定义。 (1)简单的宏名(定义符号常量) #define < 阅读全文
posted @ 2019-03-06 09:37 Love63 阅读(367) 评论(0) 推荐(0)
C++常用函数
摘要: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 阅读(581) 评论(0) 推荐(0)
#include <> 和 #inlude ""的区别
摘要:#include < >引用的是编译器的类库路径里面的头文件#include " "引用的是你程序目录的相对路径中的头文件,在程序目录的相对路径中找不到该头文件时会继续在类库路径里搜寻该头文件。 阅读全文
posted @ 2019-02-27 22:49 Love63 阅读(271) 评论(0) 推荐(0)
extern关键字
摘要:extern可用来修饰变量、函数和进行链接指定 extern "C"。 1、extern用于修饰全局变量和函数 (1)在同一个文件中extern 修饰全局变量 如果全局变量不在文件的开头定义,有效的作用范围将只限于其定义处到文件结束。如果在定义点之前的函数想引用该全局变量, 则应该在引用之前用ext 阅读全文
posted @ 2019-02-27 22:37 Love63 阅读(192) 评论(0) 推荐(0)
C++函数形参为指针和指针引用的区别
摘要:区别: 1、指针传参被调用函数的指针变量在栈内存中重新申请内存。 2、指针引用传参被调用函数的指针变量与调用函数的指针变量共用一块空间。 阅读全文
posted @ 2019-02-01 15:41 Love63 阅读(923) 评论(0) 推荐(0)
32位和64位系统下 int、char、long、double所占的内存
摘要:32位和64位系统下 int、char、long、double所占内存 阅读全文
posted @ 2019-01-29 23:02 Love63 阅读(839) 评论(0) 推荐(0)
C++友元函数和运算符重载
摘要:非成员友元函数、成员友元函数和友元类 1、友元的作用: (1)友元提供了不同类的成员函数之间、类的成员函数与一般函数之间进行了数据共享的机制; 2、友元的优点和缺点 优点:提高程序的运行效率; 缺点:破坏了类的封装性和数据隐藏性,导致程序的可维护性变差; 3、特点: (1)友元函数是可以直接访问类的 阅读全文
posted @ 2019-01-29 22:49 Love63 阅读(240) 评论(0) 推荐(0)
封装、继承和多态
摘要:1、封装 定义:将某些东西包装隐藏,让外界无法直接访问,只能通过某些特定的方式访问。 目的:增强安全性,简化编程,使用者不用了解具体的实现细节,而只是通过外部接口以及特定的访问权限来使用类的成员。 2、继承 定义:新类从已有类那里得到已有的特性; 3、多态 定义:一个接口的多种实现; 动态多态:在程 阅读全文
posted @ 2019-01-17 21:43 Love63 阅读(153) 评论(0) 推荐(0)
C++:构造函数和析构函数能否为虚函数
摘要:C++:构造函数和析构函数能否为虚函数? 简单回答是:构造函数不能为虚函数,而析构函数可以且常常是虚函数。 (1) 构造函数不能为虚函数 编译器会为每个含有虚函数的类创建一个虚函数表,在创建对象时会创建一个虚函数表指针指向虚函数表。如果构造函数是虚函数,则需要用对象来调用构造函数,构造函数之前对象还 阅读全文
posted @ 2019-01-17 11:08 Love63 阅读(426) 评论(0) 推荐(0)
C++类的存储及虚函数实现原理
摘要:一、C++成员函数在内存中的存储方式 用类去定义对象时,系统会为每一个对象分配存储空间。如果一个类包括了数据和函数,要分别为数据和函数的代码分配存储空间。按理说,如果用同一个类定义了10个对象,那么就需要分别为10个对象的数据和函数代码分配存储单元,如下图所示。 能否只用一段空间来存放这个共同的函数 阅读全文
posted @ 2019-01-17 10:59 Love63 阅读(708) 评论(0) 推荐(0)

上一页 1 2 3 下一页