摘要: 1.简单的例子 1.1 Code //simple.cpp #include <iostream> #include <string> using namespace std; int main(int argc, char** argv) { typedef unsigned char uchar 阅读全文
posted @ 2021-08-30 10:57 默行于世 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 什么是define 宏定义,简单的理解就是替换,其实这也是本质。如果熟悉g++编译过程的话,会了解到一个概念叫做预处理,就是在编译之前做个处理。这个过程并不像编译那么复杂,就是简单的递归替换和删除。替换的就是宏定义和include文件,删除注释。注意这里我们谈到一个概念,递归替换,这个其实是很常见的 阅读全文
posted @ 2021-08-30 10:22 默行于世 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 形参与实参的区别? 1) 形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。 2) 实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便 阅读全文
posted @ 2021-08-29 23:01 默行于世 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 数组和指针的区别? 1) 数组在内存中是连续存放的,开辟一块连续的内存空间;数组所占存储空间:sizeof(数组名);数组大小:sizeof(数组名)/sizeof(数组元素数据类型); 2) 用运算符sizeof 可以计算出数组的容量(字节数)。sizeof(p),p 为指针得到的是一个指针变量的 阅读全文
posted @ 2021-08-29 22:58 默行于世 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 程序中栈的基础知识 栈是向下生长的 向下生长指的是从内存的高地址-->低地址的方向拓展。 栈有栈底和栈顶,从上面可以知道栈顶的地址是比栈底的要低的。 对于X86体系的CPU而言,大概需要知道以下基础知识: ebp寄存器:一般叫做基址指针或者帧指针; esp寄存器:一般叫做栈指针 ebp在没有改变之前 阅读全文
posted @ 2021-08-29 22:53 默行于世 阅读(702) 评论(0) 推荐(0) 编辑
摘要: 变量 1. 声明:是指出存储类型,并给存储单元指定名称。 2. 定义:是分配内存空间,还可为变量指定初始值。 3. extern关键字:通过使用extern关键字声明变量名,而不是定义它。 注: 1. 声明不一定是定义:extern声明没有分配内存空间,所以不是定义;extern告诉编译器变量在其他 阅读全文
posted @ 2021-08-29 22:47 默行于世 阅读(283) 评论(0) 推荐(0) 编辑
摘要: sizeof和strlen的区别 1.sizeof是一个操作符,strlen是库函数。 2.sizeof的参数可以是数据的类型,也可以是变量,而strlen只能以结尾为‘\0’的字符串作参数。 3.编译器在编译时就计算出了sizeof的结果,而strlen函数必须在运行时才能计算出来。并且sizeo 阅读全文
posted @ 2021-08-29 22:39 默行于世 阅读(95) 评论(0) 推荐(0) 编辑
摘要: C++中字符串string和整数int的互相转化方式 一、string转int的方式 1.采用标准库中atoi函数。 string s = "12"; int a = atoi(s.c_str()); 对于其他类型也都有相应的标准库函数,比如浮点型atof(),long型atol()等等。或者直接使 阅读全文
posted @ 2021-08-29 22:35 默行于世 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 函数malloc()在内存的动态存储区中分配一块长度为size字节的连续区域,参数size为需要内存空间的长度,返回该区域的首地址; 函数calloc()参数size为申请地址的单元元素长度,nmemb为元素个数,即在内存中申请nmemb *size字节大小的连续地址空间; 函数realloc()给 阅读全文
posted @ 2021-08-29 22:23 默行于世 阅读(59) 评论(0) 推荐(0) 编辑
摘要: new&delete 1、new简单类型直接调用operator new分配内存;而对于复杂结构,先调用operator new分配内存,然后在分配的内存上调用构造函数;对于简单类型,new[]计算好大小后调用operator new;对于复杂数据结构,new[]先调用operator new[]分 阅读全文
posted @ 2021-08-29 22:17 默行于世 阅读(27) 评论(0) 推荐(0) 编辑