C++程序被组织成类,而类由成员函数和成员变量组成。

本章学习:

  1)C++程序的组成部分。

  2)各部分如何协同工作。

  3)函数及其用途。

  4)基本输入输出操作。

C++程序划分为两个部分,以#大头的预处理器编译指令以及以int main()打头的程序主体。

std::cout << " " << std::endl;

要插入文件而不是控制台,可将插入运算符<<用于std::fstream(而不是std::cout)。

程序运行成功时返回0,并在出现错误时返回-1.

命名空间的概念:

标准(std)名称空间。

命名空间是给代码指定的名称,有助于降低命名冲突的风险。

在函数无需做任何决策,也无需返回成功/失败状态时,可将其返回类型声明为void,这个函数没有返回值。

使用std::cin和std::cout执行基本输入输出操作。

例如:cin >> inputName;

getline().

第3章,使用常量和变量。

目的:1)如何声明和定义变量和常量。

2)如何给变量赋值以及操纵这些值。

3)如何将变量的值显示到屏幕上。

4)如何使用关键字auto和constexpr。

临时存储器被称为随机存储器(RAM)。

使用列表初始化避免缩窄转换错误。

使用auto自动判断类型。在变量类型非常复杂的时候可以使用。

使用typedef替换变量类型。

定义常量后,就不能直接修改它的值。直接给常量赋值会导致编译错误。常量也占用内存空间,并使用名称标识为其预留的空间地址,但不能覆盖该空间内容。

1)字面常量。2)使用关键字const声明的常量。3)使用关键字constexpr声明的常量表达式。4)使用关键字enum声明的枚举常量。5)使用#define定义的常量。

既然可以使用常规变量代替常量,为何还要定义常量?

通过声明常量(尤其是使用关键字const时)可告诉编译器,其值时固定的,不允许修改。这样编译器将确保不给常量赋值,即便另一位程序员接手您的工作,不小心试图覆盖常量的值。可提高编程质量

为何应给变量赋初值?

如果不初始化,就无法知道变量包含的初始值,在这种情况下,初始值将是给变量预留的内存单元内容。

auto是根据变量的初始值推断其类型的,使用auto没有初始化,就无法通过编译!!!

21天学通C++(C++程序的组成部分)的更多相关文章

  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天学通PythonPDF高清完整版免费下载|百度云盘

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

  4. 21天学通Python PDF完整版

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

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

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

  6. 21天学通C++学习笔记(二):C++程序的组成部分

    1. 预处理器编译指令 预处理器是一个在编译前运行的工具. 预处理器编译指令是向预处理器发出的命令,总是以磅字符#大头. #include让预处理器获取指定文件并将它们放在编译指令所处的位置.#inc ...

  7. 21天学通C++_Day5

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

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

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

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

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

随机推荐

  1. 02 [掌握] redis详情命令

    1,常用命令 keys * 获取所有的key select 0 选择第一个库 move myString 1 将当前的数据库key移动到某个数据库,目标库有,则不能移动 flushdb 清除指定库 r ...

  2. 当我们创建HashMap时,底层到底做了什么?

    jdk1.7中的底层实现过程(底层基于数组+链表) 在我们new HashMap()时,底层创建了默认长度为16的一维数组Entry[ ] table.当我们调用map.put(key1,value1 ...

  3. css3 小三角的用法

    <div class="arrow-up"> <!--向上的三角--> </div> <div class="arrow-dow ...

  4. HTTP 协议详解(二)

    前面一篇已经说过了 HTTP 的基本特性,HTTP 的发展史,前情回顾.这一篇就更详细的 HTTP 协议使用过程一些参数配置,缓存,Cookie设置相关的细节做一些梳理. 数据类型与编码 在 TCP/ ...

  5. tomcat发布时候jar包问题

    今天遇到个问题就是,启动tomcat时,报:java.lang.NullPointerException at org.apache.jsp.**_jsp.jspInit(index_jsp.java ...

  6. 猿灯塔-Phaser 使用介绍

    原创申明:本文由公众号[猿灯塔]原创,转载请说明出处标注 本文将介绍 java.util.concurrent.Phaser,一个常常被大家忽略的并发工具.它和 CyclicBarrier 以及 Co ...

  7. Pytorch | 详解Pytorch科学计算包——Tensor

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是Pytorch专题的第二篇,我们继续来了解一下Pytorch中Tensor的用法. 上一篇文章当中我们简单介绍了一下如何创建一个Ten ...

  8. 理解css中Grid布局,在项目中如何实现grid页面布局

    简介 CSS中Grid是一种二维网格式布局方式.我们常规使用table.float.position.inline-block等布局,但它们遗漏了很多功能,例如垂直居中.后来css3中flexbox的 ...

  9. Hadoop2.7.7 centos7 完全分布式 配置与问题随记

    Hadoop2.7.7 centos7 完全分布式 配置与问题随记 这里是当初在三个ECS节点上搭建hadoop+zookeeper+hbase+solr的主要步骤,文章内容未经过润色,请参考的同学搭 ...

  10. Java面向对象—常见面试题

    2. Java 面向对象 2.1. 类和对象 2.1.1. 面向对象和面向过程的区别 面向过程 :面向过程性能比面向对象高. 因为类调用时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量 ...