继续学习,今天满课,相对学习内容较少,下面罗列内容:

0、常量

▪字面常量;

▪使用关键字const声明的常量,const double Pi = 22.0/7;  //后面有分号,跟定义变量一样

▪使用关键字constexpr声明的常量表达式,constexpr double GetPi() {return 22.0/7;}  //中间有空格,和#define格式一致

▪使用关键字enum声明的枚举常量,

enum RainbowColors

{

  Violet = 0,  //第一个枚举值指定为0(默认也为0),后面枚举值编译器认为依次加1

  Blue,  

  Red

};  //后面分号一定要有

RainbowColors MyColor = Blue;

▪使用#define定义的常量(已摒弃,不推荐),#define Pi 3.14286

  摒弃理由:#define是一个预处理器编译指令,让编译器对定义的值进行文本替换。然而,它不是类型安全的,是一种原始的常量定义方式,应避免使用。

1、为何应给变量赋初值?

有时候,需要根据变量的值(通常是核实它不为零)做条件处理,如果不对变量进行初始化,这样的逻辑将不可靠,因为未赋值或初始化的变量包含的内容是随机的。

2、关于全局变量

应用程序的任何地方都可修改值,导致代码不稳定,所以不要为图简单使用全局变量。

3、unsigned int变量值为0,减1后结果如何?

环绕到可存储的最大值!所以,要在定义类型时就考虑清楚!

4、数组

C++编译器不会检查索引是否在数组的范围内,访问数组时,如果超越其边界,结果是无法预料的。很多情况下会崩溃。所以,要避免出现这种“篱笆柱错误”。

▪多维数组:C++可以模拟多维数组,但存储数组的内存仍为一维的。

▪动态数组:

vector<int> Dynarr (3);

int Num = 3;

Dynarr.push_back(Num);  //使用push_back()将Num压入到矢量中,而这个矢量动态地调整其长度,以存储更多数据

注:使用到了动态数组类 std::vector,需要包含头文件  #include <vector>

明天继续!

21天学通C++_Day2的更多相关文章

  1. 21天学通C++_Day1

    被阿里实习生的第一轮电话面试刷掉以后,幡然醒悟,发现以前学习的C++基础一点都不扎实.为了把基础打扎实,重新学习一遍:为了让自己不放弃,也顺便可以把当天学到的东西记录下来,开始了写博客. 学习书籍:& ...

  2. 21天学通 C++(第8版) 内涵目录

    21天学通 C++(第8版) 第1章 绪论 1 1.1 C++简史 1 1.1.1 与C语言的关系 1 1.1.2 C++的优点 1 1.1.3 C++标准的发展历程 2 1.1.4 哪些人使用C++ ...

  3. 21天学通Python课后实验题4.6

    21天学通Python课后实验题4.6 1. 编程实现用户输入一门课程的两门子课程成绩,第一门子课程60分以上,则显示“通过”,第一门子课程不及格,则显示“未通过”,第一门子课程及格,而第二门子课程不 ...

  4. 21天学通PythonPDF高清完整版免费下载|百度云盘

    百度云盘:21天学通PythonPDF高清完整版免费下载 提取码:nqa9 豆瓣评分: 书籍封面: 内容简介  · · · · · · <21天学通Python>全面.系统.深入地讲解了P ...

  5. 21天学通Python PDF完整版

    有需要的点击这里自取 内容简介  · · · · · · <21天学通Python>全面.系统.深入地讲解了Python编程基础语法与高级应用.在讲解过程中,通过大量实际操作的实例将Pyt ...

  6. 21天学通C++_Day6

    0.指针&数组 数组是指向其第一个元素的指针,即数组变量就是指针.故可将(*)用于数组,也可将([])用于指针,eg: int MyNums[5] = {0}; int* pNums = My ...

  7. 21天学通C++_Day5

    昨天停更了一天,真是羞羞啊,不过还是干了很多有意义的事的! 首先,昨天下午的时候,去参加了学校的春招!第一次参加招聘会,怕自己答不上面试官的问题,很是紧张! 和同学约的一点,结果到了发现还没开始,只能 ...

  8. 21天学通C++学习笔记(九):类和对象

    1. 类和对象 现实中的人等事物往往具备一些特征并且可以做某些事情,要在程序中模拟这些事物,需要一个结构,将定义其属性(数据)以及其可用这些属性执行的操作(函数)整合在一起.这种结构就是类,而这种结构 ...

  9. 21天学通C++学习笔记(八):指针和引用

    1. 简述 C++最大的优点之一是,既可以用它来编写不依赖于机器(主要是内存)的高级应用程序,又可以用它来编写与硬件紧密协作的应用程序. 事实上C++让您能够在字节和比特级调整应用程序的性能,而要编写 ...

随机推荐

  1. Hadoop中RPC协议小例子报错java.lang.reflect.UndeclaredThrowableException解决方法

    最近在学习传智播客吴超老师的Hadoop视频,里面他在讲解RPC通信原理的过程中给了一个RPC的小例子,但是自己编写的过程中遇到一个小错误,整理如下: log4j:WARN No appenders ...

  2. hadoop15---activemq

    java JMS技术 JMS是规范,activeMQ是实现. 用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信. 它类似于JDBC,JDBC 是可以用来访问许多不同关系数据库的 API. ...

  3. jQuery个人名片焦点图

    在线演示 本地下载

  4. shell脚本多进程

    shell脚本再执行过程中就一个进程,从头到尾 下面配置shell脚本执行过程中启动多个进程同时执行 #!/bin/bash for ((i=1;i<=10;i++)) do ( echo &q ...

  5. [mongodb] MMAPv1 Storage Engine

    MMAPv1 是mongodb 在3.2以前默认的存储引擎,在3.2 之后默认的存储引擎为WiredTiger,MMAPv1存储引擎基于内存映射文件,它擅长高容量的插入,读取和更新. Journal ...

  6. mysql升级的一些踩坑点

    升级的方法一般有两类: 1.利用mysqldump来直接导出sql文件,导入到新库中,这种方法最省事也最保险 缺点:大库的mysqldump费时费力. 2.直接替换掉 mysql 的安装目录和 my. ...

  7. Ubuntu16.04 Kdevelop汉化及配置

    关闭Kdevelop sudo apt-get install kdevelop-l10n 再打开. 字体选择 Sans Serif :style:Normal:这样更舒服且不影响中文的排版,如何改成 ...

  8. 开源分布式版本控制工具 —— Git 之旅

    Git 主张的分布式代码库与文件快照的设计思想,相对于传统 CVS.SVN 等集中式.文件差异式版本控制工具是一种挑战与颠覆.Git 带来了离线提交.轻量级分支等诸多便利.不过,也有人质疑 Git 的 ...

  9. memcache笔记

    服务端: 通过printf配合nc向memcached中写入数据[root@yz6245 ~]# printf "set key1 0 0 6\r\noldboy\r\n" |nc ...

  10. 【scala】可变参数

    Scala允许使用可变的参数列表. 语法 在声明的参数类型后边添加星号(*) 示例 object HelloWorld{ def hello(args:String*): Unit ={ for(ar ...