狠心学习C++(基础篇)

想狠下心学习c++了,在这个地方记录一下吧。不喜勿喷

1、常量:

定义方式1:#define  ;   定义方式2:const

具体看博客:https://www.cnblogs.com/fartherfuture/p/3767099.html

2、数据类型:(存在意义:给变量分配合适的内存空间)

整型

短整型:short           占用空间:2个字节       取值范围:-32768-32767(-2^15 - 2^15-1)

整形:int                   占用空间:4个字节       取值范围:-2^31 - 2^31-1

长整型:long             占用空间:windows位4个字节,Linux为4个字节(32位),8个字节(64位)  取值范围:-2^31 - 2^31-1

长长整型:long long  占用空间:8个字节       取值范围:-2^63 - 2^63-1

实型(浮点型) 

单精度:float            占用空间:4个字节       有效数字范围:7位有效数字

双精度:double        占用空间:8个字节        有效数字范围:15-16位有效数字

以后在vs中用float定义小数时加上f,比如:float a = 1.2f;

字符型 

字符型:char            占用空间:1个字节

需要知道熟悉的ASCII码值;  a-97   ; A - 65

C++中使用string需要包含srting头文件。

3:指针:

指针在32位操作系统下占用4个字节,无论是什么数据类型的指针。

指针在64位操作系统下占用8个字节。

const修饰指针     例子: int a=10;     int b=20;   

cosnt修饰指针     const int *p = &a;     常量指针    特点:指针的指向可以修改,但是指针指向的值不可以修改

例子:*p=20;(错误)          p=&b;(正确)   

cosnt修饰常量     int * const p = &a;    指针常量     特点:指针的指向不可以修改,指针指向的值可以修改

例子:*p=20;(正确)          p=&b;(错误)   

const即修饰指针,又修饰常量   cosnt  int* const p=&a;   特点:指针的指向不可以修改,指针指向的值不可以修改

例子:*p=20;(错误)          p=&b;(错误)   

4:内存分区模型:

代码区:存放函数体的二进制代码,由操作系统进行管理

全局区:存放全局变量和静态变量以及常量(const修饰的全局常量、字符串常量),该区域的数据在程序结束后由操作系统释放

栈区:由编译器自动分配释放,存放函数的参数值,局部变量

堆区:由程序员分配和释放,如果程序员不释放,程序结束时由操作系统进行回收

5:引用:给变量起别名,变量和别名都可以操作同一块内存

注意:引用必须要初始化,定义时就要初始化;一旦初始化就不能改变了。

引用的本质就是一个指针常量

引用和指针的联系和区别:具体见:https://blog.csdn.net/smartgps2008/article/details/90648015

相同点:都是地址的概念,指针指向一块内存,它的内容是所指内存的地址;而引用则是某块内存的别名。

区别:

1、指针是一个实体,引用是一个别名。

2、引用只能在定义时被初始化一次,之后不可以改变;指针可以改变;引用“从一而终”,指针“见异思迁”

3、引用不能为空,指针可以为空。

4、引用没有const,指针有const,const的指针不可变。具体指没有int& const a这种形式,而const int& a是有的,前者指引用本身即别名不可以改变,这是当然的,所以不需要这种形式,后者指引用所指的值不可以改变)

5、引用是类型安全的,而指针不是,引用比指针多了安全检查。

6、“sizeof 引用”得到的是所指向的变量(对象)的大小,而“sizeof 指针”得到的是指针本身的大小;

5:乱七八糟的一些东西

5.1:加入随机种子#include<ctime>         srand((unsigned int)time(NULL))

5.2:在C++中 struct和class唯一的**区别**就在于 **默认的访问权限不同**

区别:   struct 默认权限为公共;            class   默认权限为私有

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值