美文网首页
C++学习随笔(一)

C++学习随笔(一)

作者: 宇宙巨炮 | 来源:发表于2020-03-21 15:06 被阅读0次

未经本人授权,禁止转载


大家好,这里是凛刃。C++是一门非常繁杂的语言,每一遍学习的过程总有新收获,但是总有些小地方很重要却又容易忽视,不常用导致经常忘记,那么这个板块就是记录下这些令人抓狂的“小地方”,希望在提醒自己的同时也能帮到需要的人。


1. 名称空间

using namespace

  • 大型项目可能会有相同名称的模块,给不同的模块起不同的名称空间需要的时候使用using可以很好的解决这个问题
  • 注意最好不要在全局使用using,可能会减缓程序运行速度,达不到预期的目标

2. 运算符sizeof

在8位字节的系统中,int的长度是4个字节也就是32位,可以表示0~2147483647的大小,sizeof可以指出占多少个字节。

  • 对类型名int,用法为sizeof (int)
  • 对变量名,用法为sizeof (var)或者sizeof var

3. 头文件limits.h/climits

头文件limits定义了各种符号常量的属性。

  • INT_MAX表示int的最大值,INT_MIN表示int的最小值,UINT_MAX表示unsigned int的最大值
    等等以此类推,具体请查阅书籍。

4. 变量的初始化

  • C传统方式:int counter = 0;
  • C++特有方式:int counter(0);
  • C++11特有方式:int counter = {0}; //这种方式可以防止一些错误

5. char型详解

char字符类型本质上是比short更短的整型,它的大小只有一个字节也就是8位,所以只能存储-128~127或0~255大小的变量。

char str = 'M';    //字面上str存储的是M,在计算机内部则是ASCII码77的二进制
int x = str;    //x被赋值为M的编码77
str = str + 1;    //str变为编码为78的N
x = x + 1;    //x的值变为78
cout<<'M';    //输出的是M的编码77
cout.put('M')    //输出的是字母M,cout.put()是一个输出用法

6. bool型详解

bool型只能是两种值:true或者false,但是它可以和int型互相强制转换。

bool start = -99;    //只要不是0,start会被强制赋值为true
bool stop = 0;    //为0时stop被强制赋值为false
int x = true;    //x强制赋值为1
int y = false;    //y强制赋值为0

7. const限定符

创建常量的通用格式:const type name = Value;,这样常量name不再允许在程序中被修改。C++的const是比C的#define(尽管C++依旧支持)更加好用且稳定的常量定义方法,因为他的作用范围更加灵活,常量类型更加丰富多变。

const int Months = 12;    //后续的所有Months都代表12
//同样,const可以用于数组、结构体等等

8. 浮点数详解

浮点数型与整型有着本质的区别,在内部存储是以基准值0.12345和缩放因子100两部分组成的,所以0.12345和100就表示12.345,程序员只需要知道他可以表示非常大和非常小的数就可以了。

//C++的两种书写形式
12.34     8.0    0.00345  
//或者
2.52e+8    1.23E+4    1234.12E-6    
//e或E表示倍数,正负数字表示10的正负多少次方 

9. 强制转换

  • 传统方法:(typename)variate
  • C++新方法:typename(variate) 或者 static_cast<typename> (variate),新方法的出现是因为传统方法有过多的可能性而存在危险

10. C++11的auto声明

auto variate = value,auto会根据value的类型自动判断variate的类型。

相关文章

网友评论

      本文标题:C++学习随笔(一)

      本文链接:https://www.haomeiwen.com/subject/yxnhjhtx.html