逆向基础 C++ Primer Plus 第二章 开始学习C++
C++ Primer Plus 第二章 开始学习C++
知识点梳理
本章从一个简单的C++例子出发,主要介绍了创建C++程序的步骤,以及其所包含的预处理器编译指令、函数头、编译指令、函数体、注释等组成部分,说明了C++的基本代码风格及书写规则,对变量、函数、类的声明以及使用进行了阐述。
重点知识回顾
C++程序从main()函数开始,其中函数由函数头和函数体组成,函数头中包含函数所需的参数类型和函数的返回值类型,函数体是位于花括号中的C++语句。如下main()与普通函数没有区别,只不过其是由启动代码调用,而启动代码是由编译器添加到程序中的,是程序和操作系统之间的桥梁。
int main(void){
......
return 0;
}
常见的C++语句主要有下列6种:声明语句、赋值语句、消息语句、函数调用、函数原型、返回语句。C++中的类详细描述了如何表示信息以及可对数据执行的操作,对象是类的实体,其与变量是某种数据类型的实体是一个道理。
C++支持使用绝大多数的C库函数,但需要在程序中包含提供该库函数原型的头文件。 C++程序中总是会出现如下两条语句:
#include <iostream>
using namespace std;
以上第一条编译指令主要用来将iostream文件中的内容添加到程序中,其是一个典型的预处理操作,iostream中包含基本的输入cin和输出cout,添加第一行代码与将iostream文件中的内容复制到主程序中一样效果。
以上第二条指令是引入名称空间的办法,即使用iostream,而不是iostream.h时,使用上述第二条指令来使iostream中的定义对程序可用,其主要是为了避免在大型程序中不同厂商组合起来的代码中出现相同的函数名问题。
最后,C++的代码风格因人因公司而异,网上可以找到各种规范的具体内容,此处从书中摘录几个基本原则总结如下:
- 每条语句占一行;
- 每个函数都有一个开始花括号和一个结束花括号,两个花括号各占一行;
- 函数中的语句都相对于花括号进行缩进;
- 与函数名称相关的圆括号周围没有空白;
- 注释一定要详细。
个人比较推崇的是书写规范是Google C++ Style Guide,在这里找了一个中文版本,分享给大家。
链接: https://pan.baidu.com/s/1A1u-E0EAUWEqVBtB8qMDJw
提取码: vvsa
逆向基础 C++ Primer Plus 第二章 开始学习C++的更多相关文章
- 第二章 开始学习C++
第二章 开始学习C++ 2.1 main函数 简单代码如下: #include <iostream> int main() { //This is my first program u ...
- C++ Primer 笔记 第二章
C++ Primer 第二章 变量和基本类型 2.1基本内置类型 有算数类型和void类型:算数类型储存空间大小依及其而定. 算数类型表: 类型 含义 最小储存空间 bool 布尔型 - char 字 ...
- 《C++Primer》第五版习题答案--第二章【学习笔记】
C++Primer第五版习题解答---第二章 ps:答案是个人在学习过程中书写,可能存在错漏之处,仅作参考. 作者:cosefy Date: 2020/1/9 第二章:变量和基本类型 练习2.1: 类 ...
- C++ primer的第二章的主要内容
这第二章主要是介绍了C++中基本的内置数据类型:整型与浮点型.介绍了什么是变量的过程中了解到了左值与右值的概念.左值是可以出现在赋值语句的左边或者右边,也就是说可以放在等号的左右两边,而右值只能是出现 ...
- 【C++】《C++ Primer 》第二章
第二章 变量和基本类型 指针和引用的不同点 引用不是一个对象,它没有实际地址,但是指针是一个对象.允许对指针赋值和拷贝,而且在指针的生命周期内它可以先后指向几个不同的对象. 指针无须在定义时赋初值.
- C Primer Plus_第二章_C语言概述_复习题与编程练习
REVIEW 1.如何称呼C程序的基本模块? ans 它们被称为函数 2.什么是语法错误?给出一个英语例子和一个C语言例子 me C的语法错误是指把正确的C符号放在了错误的位置 likes codin ...
- Java 并发编程实践基础 读书笔记: 第二章 构建线程安全应用程序
1,什么是线程安全性? 简单概括就是一个类在多线程情况下能安全调用就是线程安全 2,Servlet 的线程安全性 默认是非线程安全的,写servlet代码的时候需要注意线程安全,注意同步 3,vo ...
- c++ primer plus 第二章 \n与endl在输出上的区别
在书上看到如下一段话: 一个差别是,endl确保程序继续运行前刷新输出(将其立即显示在屏幕上):而使用"\n"不能提供这样的保证,这意味着在有些系统中,有时可能在您 ...
- c++ primer plus 第二章 课后题答案
#include<iostream> using namespace std; int main() { cout << "My name is Jiantong C ...
随机推荐
- Codeforces Round #648 (Div. 2) A. Matrix Game
题目链接:https://codeforces.com/contest/1365/problem/A 题意 给出一个 $n \times m$ 的网格,两人轮流选择一个所在行列没有 $1$ 的方块置为 ...
- 2019牛客暑期多校训练营(第四场)k题、j题
传送门 k题: 题意: 给你一串由数字构成的字符串,你从这个字符串中找子字符串使这个字符串是300的倍数 题解: 这道题和第三场的B题极其相似 首先可以把是三百的倍数分开,必须要是100和3的倍数 是 ...
- Codeforces Round #272 (Div. 2) B. Dreamoon and WiFi (暴力二进制枚举)
题意:给你一个只含\(+\)和\(-\)的字符串,统计它的加减和,然后再给你一个包含\(+,-,?\)的字符串,其中\(?\)可以表示为\(+\)或\(-\),问有多少种情况使得第二个字符串的加减和等 ...
- typedef struct xxx xxx与struct xxx区别 && “->”和“.”访问结构体变量
1. struct //是C中的结构体的关键词.如: stuct node{ int a;.....} a; node 相当于结构体的类型,关键是其实在C中stuct node 才相当于一个数据类型, ...
- GO - 高级编程
https://books.studygolang.com/gopl-zh/ https://chai2010.cn/advanced-go-programming-book/
- 转载-cookie和session的窃取
一.cookie的基本特性 如果不了解cookie,可以先到 wikipedia 上学习一下. http request 浏览器向服务器发起的每个请求都会带上cookie: GET /index.ht ...
- codeforces 1042C Array Product【构造】
题目:戳这里 题意:n个数,两种操作,第一种是a[i]*a[j],删掉a[i],第一种是直接删除a[i](只能用一次)剩下的数序列号不变.操作n-1次,使最后剩下的那个数最大化. 解题思路: 正数之间 ...
- Java中输出小数点后几位
笔试时候,遇到让你写输出小数点后几位,当时很是头疼,下来后,查了查发现,没什么难的.网上有各种情况都讨论了(一般分为4种),在这里我着重讨论一下比较实用,比较简单,比较方便操作的几种: 1 publi ...
- windows脚本bat编程:WIN10脚本自动启动虚拟环境中的jupyter
python编程对各种扩展包的版本依赖较严格,为了解决版本差异,通用情况下会使用virtualenv创建的虚拟环境来独立应用.那么每次使用的时候就需要启动虚拟环境,如果每次都是手工启动,每次输入几条命 ...
- 微信小程序-导航 & 路由
微信小程序-导航 & 路由 页面跳转 页面路由 页面栈, 框架以栈的形式维护了当前的所有页面. https://developers.weixin.qq.com/miniprogram/dev ...