随笔分类 -  C++基础

C++基础--if/else和switch/case的区别
摘要:if和switch的区别: 一、语句的格式: if/else的写法格式如下: swith/case的写法如下: 二、逻辑结构: 从上面if/else与switch/case格式的区别可以看出: A: if/else能根据逻辑判断输出相应的语句,也就是说if/else更多的是进行逻辑判断; switc 阅读全文

posted @ 2019-10-16 15:10 Anlia 阅读(3321) 评论(0) 推荐(0)

C++基础--回调的应用
摘要:一、类成员函数的回调 1. 类成员函数的回调,函数的调用必须通过类来调用; CallBack.h CallBack.cpp main.cpp 运行结果为: 二、静态函数的回调 注意:1. 静态函数只能在声明这个函数的文件中调用; CallBack.h CallBack.cpp main.cpp 运行 阅读全文

posted @ 2018-06-06 17:42 Anlia 阅读(187) 评论(0) 推荐(0)

C++基础--class的大小
摘要:在这里列出了空类,类有函数,值,没有函数的大小,注意Class是默认字节对齐 运行结果: 结论:1.空类的大小和含有构造和析构函数的类的大小为1个字节; 2.New的class的大小为指针所占用的内存,为4,与类的大小以及是否含有变量和函数无关; 3. 含有虚函数的类,由于虚函数需要建立一张虚函数表 阅读全文

posted @ 2018-05-24 16:37 Anlia 阅读(329) 评论(0) 推荐(0)

C++基础--struct的大小
摘要:在修改别人的代码的过程中,发现很多人会把struct和struct的定义混淆,在这里主要是为了提醒自己Struct定义的规范性。 运行的结果为: 在这里Struct G的大小为8是因为:字节对齐,说明Struct在默认情况下,就已经做了字节对齐。 阅读全文

posted @ 2018-05-24 16:12 Anlia 阅读(723) 评论(1) 推荐(0)

C++基础--字符串倒序输出
摘要:(一)用基本的数组实现 (二)加入向量vector, vector是具有方向的矢量容器,使用时,需include <vector> (三)加入迭代器(iterator), iterator是一中检查容器内元素并遍历元素的数据类型,每个容器都可以定义自己的迭代器。 使用迭代器,需include <it 阅读全文

posted @ 2016-10-18 17:11 Anlia 阅读(17941) 评论(0) 推荐(1)

C++基础--结构体声名
摘要:struct是一种数据结构,当需要存储的相关数据为一个集合时,struct是很好的选择;例如,当存储student,学生的学号, 名字,年龄,身高,就构成了一个集合,用stuct声名为: struct指名了这个是chemical_student_for_uni结构,typedef为这个结构起了一个别 阅读全文

posted @ 2016-10-11 19:08 Anlia 阅读(550) 评论(0) 推荐(0)

C++基础--static的用法
摘要:首先,看看变量的存储: 变量global存储在全局数据存储区,stackStore存储在栈中,heapStore存储在堆中; static作为静态修释符用法: 1.static可以用来修饰变量,也可以用来修饰函数,其用法相似; 2. static可以静态的呈现一个变量,在作用范围内不会改变变量的值; 阅读全文

posted @ 2016-10-10 17:09 Anlia 阅读(239) 评论(0) 推荐(0)

C++基础--extern的用法
摘要:extern作为外部变量扩展的用法: 1. 主要作用是扩展变量或者函数的应用范围; 2. extern的用法是相对于全局变量而言; 3. 在看到extern这个关键字的时候说明这个变量已经在别的源文件中声明; 注意:变量的声明只能在源文件中(.cpp .c),但是对于extern声明的文件没有限制, 阅读全文

posted @ 2016-10-10 17:02 Anlia 阅读(691) 评论(0) 推荐(0)

C++基础--指针,&的用法
摘要:输出结果为: 1. 数组名a可以作为数组的首地址; *a为数组的指针,取值为1; &a为取数组a的地址; 2. 指针p指向的是数组a的地址+1,那么*p指向的是&a+1的地址的值,*(p-1)指向的是&a+1的地址减1,数组的地址是连续的,&a+1的地址减1为&a的地址,取值为5 阅读全文

posted @ 2016-10-09 17:26 Anlia 阅读(321) 评论(0) 推荐(0)

C++基础--malloc和new的区别
摘要:(1)malloc在C和C++中都可以使用,用来申请一段内存;申请的内存一定要用free释放,然后把指针置为null; new只能在C++中使用,用于动态内存分配;new的对象要delete掉; (2)new是新建一个对象,相当于构造一个函数,delete时析构函数;malloc仅仅分配内存,fre 阅读全文

posted @ 2016-10-08 18:02 Anlia 阅读(261) 评论(0) 推荐(0)

C++基础--sizeof和strlen的区别
摘要:首先,来运行一段程序: 运行结果为: 再看下面这段程序: 运行结果为: 以上结果表示char*占用的内存大小为4, char占用的内存大小为1; 运行以上两个程序,可以总结出sizeof和strlen的区别为: 1. sizeof的参数可以是数据类型,也可以是变量,而strlen只能以以'\0'结尾 阅读全文

posted @ 2016-10-08 17:42 Anlia 阅读(656) 评论(0) 推荐(0)

导航