
c/c++
zldz14
电子电子
展开
-
C++中“->”和“.和“::”的区别
1、->是指针指向其成员的运算符。 . 是结构体的成员运算符。最大的区别是->前面放的是指针,而.前面跟的是结构体变量。例如:struct A{ int a; int b;};A *point = malloc(sizeof(struct A));point->a = 1;A object;object.a = 1;2、::是域作用符...原创 2018-07-26 21:30:05 · 42106 阅读 · 7 评论 -
c++ 定义指针 delete
C++无论何种数据,是否要delete关键看其空间是否使用new分配的。1,函数冲定义的局部变量指针,单纯是一个局部变量是不用delete;2,C++ 如果类中有一个指针数据成员,而没有用new, 析构函数也是不用delete的;在类或函数中,int* ,char* 这些只要不是new的,也同样不用释放,系统会自动把他们占的内存释放掉,只有new的才会手动的去delete原理:int*,...原创 2018-07-27 10:13:37 · 1125 阅读 · 0 评论 -
C++中define与const的区别
C++中不但可以用define定义常量还可以用const定义常量,它们的区别如下: 用#define MAX 255定义的常量是没有类型的,所给出的是一个立即数,编译器只是把所定义的常量值与所定义的常量的名字联系起来,define所定义的宏变量在预处理的时候进行替换,在程序中使用到该常量的地方都要进行拷贝替换; 用const float MAX = 255; 定义的常量有类型名字,存放在...转载 2018-07-27 10:45:11 · 1065 阅读 · 0 评论 -
C++:堆和栈的概念及区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配...转载 2018-07-27 10:47:12 · 5116 阅读 · 3 评论 -
C++中引用和指针的区别。
C++中引用和指针的区别。(1)当引用被创建时,它必须被初始化。而指针则可以在任何时候被初始化。 (2)一旦一个引用被初始化为指向一个对象,它就不能被改变为对另一个对象的引用。而指针则可以在任何时候指向另一个对象。 (3)不可能有NULL引用。必须确保引用是和一块合法的存储单元关联。 进一步解析: 指针和引用都是 C++ 中的基本语法成份,它们既有联系,也有不同...原创 2018-07-27 10:49:52 · 219 阅读 · 0 评论 -
结构体定义的几种常见方式
大家都知道若struct后面接的是名字,则其为该结构体的名称。下面给出六种结构体定义,其中第一种是最基本的结构体定义,其定义了一个结构体A。struct A //第一种{ int a;};第二种则是在定义了一个结构体B的同时定义了一个结构体B的变量m。struct B //第二种{ int b;}m;第三种...原创 2018-07-27 11:21:20 · 2782 阅读 · 0 评论