用简单的语言描述C++ 是什么?
摘要:用简单的语言描述C++ 是什么? 答:C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。C++支持多种编程范式 --面向对象编程、泛型编程和过程化编程。 其编程领域众广,常用于系统开发,引擎开发等应用领域,是最受广大程序员受用的最强大编程语言之一,支持类:类、封装、重载等特性!
阅读全文
posted @
2019-03-17 23:14
Love63
阅读(434)
推荐(0)
C++中malloc / free 和 new / delete 的区别?
摘要:1、malloc/free 是C++/C语言的标准库函数,New/delete是C++运算符;都是用于申请动态内存和释放内存。 2、new做两件事:分配内存和调用类的构造函数,delete是:调用类的析构函数和释放内存。而malloc和free只是分配和释放内存。
阅读全文
posted @
2019-03-17 23:09
Love63
阅读(148)
推荐(0)
头文件中的ifndef/define/endif 是干什么用的
摘要:头文件中的ifndef/define/endif 是干什么用的? 答:防止头文件被重复包含。
阅读全文
posted @
2019-03-17 22:38
Love63
阅读(438)
推荐(0)
C++内存溢出和内存泄漏?
摘要:1、内存溢出 内存溢出是指程序在申请内存时没有足够的内存空间供其使用。原因可能如下: (1)内存中加载的数据过于庞大; (2)代码中存在死循环; (3)递归调用太深,导致堆栈溢出等; (4)内存泄漏最终导致内存溢出; 2、内存泄漏 内存泄漏是指使用new申请内存, 但是使用完后没有使用delete释
阅读全文
posted @
2019-03-17 22:35
Love63
阅读(3320)
推荐(0)
C++类和结构体的区别
摘要:C++类和结构体的区别? 结构体默认数据访问控制是public; 类默认数据访问控制是private; (在C中,结构体是数据类型,只能定义数据类型不能定义函数)
阅读全文
posted @
2019-03-17 22:21
Love63
阅读(388)
推荐(0)
C++内联函数、宏定义和普通函数的区别
摘要:C++内联函数、宏定义和普通函数的区别? 宏定义:在预处理阶段进行简单的文本替换,不会进行参数类型检查; 内联函数:编译器会在每次调用内联函数的地方直接将内联函数的内容展开,这样可以省去函数压栈和出栈的开销提高效率,会进行参数类型检查; 普通函数:在函数调用时,跳转到函数地址执行代码;
阅读全文
posted @
2019-03-17 22:19
Love63
阅读(335)
推荐(0)
C++指针和引用的区别
摘要:C++指针和引用的区别 (1)当引用创建时,必须被初始化。指针可以在任何时候初始化。 (2)一旦一个引用被初始化指向一个对象,它就不能被改变成为另一个对象的引用。而指针可以在任何时候指向另一个对象。 (3)不可能为NULL引用,但可以有空指针。 (4)指针可以有多级,但是引用只能是一级(int **
阅读全文
posted @
2019-03-12 22:44
Love63
阅读(149)
推荐(0)
C++指针函数和函数指针
摘要:1、函数指针(指向函数的指针) int (*fun2)(int x); fun2与" * " 先结合,构成了一个指针的定义,指针变量名为fun2, int 修饰的是函数的返回值。函数在这里没有名字,是个匿名的函数。 2、指针函数 (返回值为指针的函数) int *fun1(int x); " ()
阅读全文
posted @
2019-03-10 22:25
Love63
阅读(198)
推荐(0)
C++ 指针数组和数组指针
摘要:(1)指针数组 (存储指针的数组) int *p1[10]; " [] "的优先级高于" * ",所以p1与" [] "先结合,构成一个数组的定义,int * 修饰的是数组的内容,即数组的每个元素。 (2)数组指针 (指向数组的指针) int (*p2)[10]; " () "的优先级高于" []
阅读全文
posted @
2019-03-10 22:15
Love63
阅读(365)
推荐(0)
C++ static关键字
摘要:一、面向过程中的static 1、修饰全局变量(静态全局变量) (1)静态全局变量在全局数据区分配内存; (2)静态全局变量在声明处初始化,未经初始化的静态全局变量会被程序自动初始化为0; (3)静态全局变量的作用域在声明它的整个文件是可见的,而在文件之外是不可见的。 2、修饰局部变量(静态局部变量
阅读全文
posted @
2019-03-10 21:58
Love63
阅读(119)
推荐(0)
const和#define的区别
摘要:const和#define都是用来定义常量。 const和#define的区别? (1)#define在预处理阶段起作用;const在编译和运行阶段起作用; (2)#define只是简单的字符串替换,没有类检查;const有类型检查。 (3)#define常量不能进行调试; const常量可以进行调
阅读全文
posted @
2019-03-10 21:25
Love63
阅读(138)
推荐(0)
sizeof和strlen的区别
摘要:1、sizeof和strlen的区别? strlen是函数,参数必须为字符指针;在运行时才计算,用来计算字符串的长度,遇到第一个NULL('\0')结束(不包括'\0')。 sizeof是运算符,参数可以是变量和数据类型; 在编译时计算,计算变量占用的内存空间(不是实际大小)。 当数组名作为参数时,
阅读全文
posted @
2019-03-10 21:17
Love63
阅读(120)
推荐(0)
typedef关键字
摘要:typedef关键字作用:为一种数据类型定义一个新的名字。(数据类型包括内部数据类型(int, char等)和自定义数据类型struct)
阅读全文
posted @
2019-03-10 21:00
Love63
阅读(107)
推荐(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)
C++宏定义
摘要:一、#define的基本定义 1、 #define的概念 #define命令是C语言中的一个宏定义,它用来将一个标识符定义为一个字符串,该标识符称为宏名,被定义的字符串称为替换文本。 该命令有两种格式:一种是简单的宏定义;另一种是带参数的宏定义。 (1)简单的宏名(定义符号常量) #define <
阅读全文
posted @
2019-03-06 09:37
Love63
阅读(369)
推荐(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
阅读(584)
推荐(0)