C++ Primer Plus(二)——开始学习C++

2.1 进入C++

1. C++函数头描述了函数和调用它的函数之间的接口,main函数的函数头描述了main和操作系统之间的接口。

2. C++注释以//打头,C注释包括在函数/**/之间


头文件类型


约定


示例


说明


C++旧式风格


以.h结尾


iostream.h


C++程序可以使用


C旧式风格


以.h结尾


math.h


C/C++程序可以使用


C++新式风格


没有扩展名


Iostream


C++程序可以使用,使用 namespace   std


转换后的C


加上前缀c


cmath


C++程序可以使用,可以使用不是c的特性,如 namespace std

3. 命名空间用于编写大型程序时,区分不同厂商的版本。

4. endl控制符和\n换行符都可以指示换行,区别在于endl控制符确保程序在继续运行前刷新输出,而转义字符\n不能提供这样的保证,这就意味着在有些系统中,有时可能要在输入后才会出现提示。

5. C++源码风格:

(1) 每条语句占一行

(2) 每个函数都有一个开始花括号和一个结束花括号,这两个花括号各占一行

(3) 函数中的语句都相对于花括号进行缩进

(4) 与函数相关的圆括号周围没有空白

2.2  C++语句

对于声明变量,C++的做法是尽量在首次使用变量前声明它。

2.3  类

1. 类是用户定义的一种数据类型,它描述了如何表示信息和可对数据执行的操作;对象是根据这些描述所创建的实体

2. C++提供了两种发送信息的方式:一种是通过使用类方法,另一个种是重定义运算符

2.4 函数

1. 参数是发送给函数的信息,返回值是从函数中发送回去的值

2. 函数原型之于函数就好像变量声明之于变量——指出涉及的类型,C++程序应当为程序中使用的每个函数提供原型。

3. 通常把原型放在main()定义以前,把实现放在main()以后

4. 函数原型描述了函数接口,即函数如何与程序的其他部分交互;参数列表指出了何种信息将被传递给参数;函数类型指出了返回值的类型

5. 让程序使用命名空间的方法有很多种(其中xxx表示空间名,yyy表示空间中的元素):

(1) using namespace xxx;//使用命名空间中的所有元素

(2) using xxx::yyy;//预先指定命名空间中的特定元素可以使用

(3) xxx::yyy;需要使用时,再引入命名空间中的元素

时间: 2024-10-12 04:28:54

C++ Primer Plus(二)——开始学习C++的相关文章

C++Primer第5版学习笔记(三)

C++Primer第5版学习笔记(三) 第四/五章的重难点内容 你可以点击这里回顾第三章内容 因为第五章的内容比较少,因此和第四章的笔记内容合并.   第四章是和表达式有关的知识,表达式是C++的基础设施,本章由三部分组成:         1.表达式概念基础,包括表达式的基本概念,左值和右值的概念,优先级结合律,求值顺序.  2.各种运算符,主要包括算数\关系\逻辑\赋值\递增递减\成员访问\条件\位运算\sizeof\逗号运算符 这10种运算符.  3.类型转换,包括隐式和显式两种转换的规则

C++Primer第5版学习笔记(一)

C++Primer第5版学习笔记(一) 第一.二章的重难点内容 本篇文章主要记录了我在学习C++Primer(第5版,中文版)中遇到的重难点及其分析.因为第一.二章比较简单,因此这里合并这两章我遇到的问题.        第一章 开始 这一章在第一部分之前,是一个helloworld式的章节,包含基本的函数,io流以及类的介绍. 知识点1:P19,1.5,文件重定向 可以在windows下的cmd中或者mac,linux系统的终端窗口中用输入命令的形式执行程序并使它从一个文件中读入数据,再把标准

C++ Primer(第五版)学习笔记_6_标准模板库_set集合容器

C++ Primer(第五版)学习笔记_6_标准模板库_set集合容器 Set集合容器实现了红黑树(Red-BlackTree)的平衡二叉检索树的数据结构,在插入元素时,它会自动调整二叉树的排序,把该元素放到适当的位置. (1)确保每个子树根节点的键值大于左子树所有节点的键值,而小于右子树所有节点的键值: (2)另外,还得确保根节点左子树的高度与右子树的高度相等.这样,二叉树的高度最小,从而检索速度最快. 平衡二叉检索树的检索使用中序遍历算法,检索效率高.默认情况下,将键值由小到大遍历. 对于s

Java基础知识二次学习-- 第一章 java基础

基础知识有时候感觉时间长似乎有点生疏,正好这几天有时间有机会,就决定重新做一轮二次学习,挑重避轻 回过头来重新整理基础知识,能收获到之前不少遗漏的,所以这一次就称作查漏补缺吧!废话不多说,开始! 第一章  JAVA简介 时间:2017年4月24日10:23:32 章节:01章_02节 内容:jdk的配置与安装 完成情况:已经完成,cmd中javac提示出相关命令 时间:2017年4月24日10:30:39 章节:01章_04节 内容:输出HelloWorld 完成情况: 已经完成 javac先将

设计模式(二)学习----动态代理

动态代理:动态代理是指在实现阶段不需要关心代理谁,而在运行阶段才指定代理哪一个对象.Spring AOP采用的核心思想就是动态代理设计模式.  下面看动态代理的UML类图: 下面思考问题:invocationHandler的invoke方法是由谁来调用的,代理对象是怎么生成的? 动态代理类: package com.lp.ecjtu.DynamicProxy; import java.lang.reflect.InvocationHandler; import java.lang.reflect

《Linux内核设计与实现》第一、二章学习笔记

<Linux内核设计与实现>第一.二章学习笔记 姓名:王玮怡  学号:20135116 第一章 Linux内核简介 一.关于Unix ——一个支持抢占式多任务.多线程.虚拟内存.换页.动态链接和TCP/IP网络的现代化操作系统 1.主要发展过程   1969年,贝尔实验室的程序员们设计了一个文件系统原型,最终发展演化成了Unix 1971年,Unix被移植到PDP-11型机中 1973年,整个Unix系统使用C语言进行重写,为后来Unix系统的广泛移植铺平了道路 Unix第六版(V6)被贝尔实

20135223何伟钦—信息安全系统设计基础第十二周学习总结

一.学习目标 1.掌握进程控制 2.掌握信号处理的方法 3.掌握管道和fifo进行进程间通信的方法 二.学习资源 编译.运行.阅读.理解process.tar.gz压缩包中的代码 三.编译.运行.阅读.理解代码 (1)exec1 execvp函数 表头文件: #include 定义函数: int execvp(const char file ,char const argv []); execvp()会从PATH 环境变量所指的目录中查找符合参数file 的文件名,找到后便执行该文件,然后将第二

20145311 《信息安全系统设计基础》第十二周学习总结

20145311 <信息安全系统设计基础>第十二周学习总结 教材学习内容总结 20145311 <信息安全系统设计基础>第十一周学习总结 20145311 <信息安全系统设计基础>第十周学习总结 20145311 <信息安全系统设计基础>第九周学习总结 视频内容总结 指针数组:即用于存储指针的数组,也就是数组元素都是指针  int *a[10] 数组指针:即指向数组的指针,指针指向一个类型和元素个数都固定的数组 int (*a)[10] 指针函数:即返回值是

20145317《信息安全系统设计基础》第十二周学习总结1

20145317<信息安全系统设计基础>第十二周学习总结1 教材学习内容总结 第九周学习内容总结http://www.cnblogs.com/5317p/p/6052889.html 第十周学习内容总结http://www.cnblogs.com/5317p/p/6076074.html 第十一周学习内容总结http://www.cnblogs.com/5317p/p/6106708.html 视频学习内容总结 指针与声明 C语言中变量的声明包括两个部分: 类型 声明符 对于简单类型,声明并不

C++ Primer 第五版学习笔记

<C++ Primer>第五版中文版学习笔记 ? C++ Primer 第五版学习笔记