C/C++
荒野13
nothing to say
展开
-
C++——重载、重写、重定义、多态
多态是基于对抽象方法的覆盖来实现的,用统一的对外接口来完成不同的功能。重载也是用统一的对外接口来完成不同的功能。那么两者有什么区别呢?重写override也叫覆盖,子类重新定义父类中有相同名称相同参数的虚函数,主要是在继承关系中出现的,被重写的函数必须是virtual的,重写函数的访问修饰符可以不同,尽管virtual是private的,子类中重写函数改为public,protected也...原创 2018-06-11 19:26:06 · 578 阅读 · 0 评论 -
C/C++——堆栈的讲解
一、程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)...转载 2018-06-12 10:54:27 · 2627 阅读 · 0 评论 -
C/C++——const和static、static const 和 const static区别
const和static区别const定义的常量在超出其作用域之后其空间会被释放。在C++中,const成员变量也不能在类定义处初始化,只能通过构造函数初始化列表进行,并且必须有构造函数。const数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的。因为类可以创建多个对象,不同的对象其const数据成员的值可以不同。所以不能在类的声明中初始化const数据成员,因为类的...原创 2018-06-12 15:33:04 · 3494 阅读 · 0 评论 -
C/C++——#define和const的区别
#define命令来定义符号常量在C语言中常用#define命令来定义符号常量:#define PI 3.14159 实际上,只是在预编译时进行字符置换,把程序中出现的字符串PI全部换成3.14159。在预编译之后,程序中不再有PI这个标识符。PI不是变量,没有类型,不占用存储单元,而且容易出错。const定义常变量C++提供了用const定义常变量,如:const float ...原创 2018-06-12 15:42:38 · 271 阅读 · 0 评论 -
c\c++中比较两个字符串或string对象是否相等
在写程序的过程中,经常会遇到要比较两个字符串是否相等的情况。如果要比较的对象是char字符串,则利用int strcmp(const char s1,const char* s2)当s1 < s2时,返回为负数;当s1 == s2时,返回值= 0;当s1 > s2时,返回正数。即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇’\0’为止。...原创 2018-10-05 22:33:25 · 37263 阅读 · 1 评论 -
if(i),if(!i)和while(i),while(!i)的理解
1.if(i)等价于if(i!=0) 在C语言中0为假,非0为真2.if(!i)等价于if(i==0)3.while(i)等价于while(i!=0)与if相同4.while(!i)等价于while(i==0)与if相同原创 2018-10-10 16:07:32 · 2746 阅读 · 0 评论