学习C++ Primer 的个人理解(一)
《C++ Primer》这本书可以说是公认的学习C++最好的书,但我觉得不是特别适合作为教材,书中内容的顺序让人有些蛋疼。我个人认为初学此书是不能跳着看的。如果急于上手的话,我更推荐《C++程序设计》。
首先是第一章,第一章可以说是本书第一部分的一个简略的概括。对于有其他编程语言经验的读者来说,看完这章基本可以看出C++的基本语法与其他语言的差异。对于零基础的读者,可以跟着书中内容写一些小程序了。
本主要介绍了以下几点:
1.一个最简单的C++程序是什么样的。
2.初步了解输入流和输出流。
3.什么是注释
4.流程控制
5.关于类
6.关于编译
其实真的非常的概括,尤其关于编译的部分我认为可以去自己找资料了解一下。我觉得对于C++编程了解编译是很重要的事。
但也有几个重要的知识点。
1.主函数main
程序的入口,程序从主函数开始执行,主函数的名字是固定的 main。
可以按照函数的定义来解释主函数。
首先 函数名为 :main
函数体为:花括号括起来的部分
形式参数为 : 空, 没有形参(主函数是可以有形参的,在后面的章节会讲到)
返回值类型:int(c++的内置类型,在后面第二章会详细说明)
不光是主函数,普通的函数也是由这四个部分定义的。
2.输入输出流
C++的IO机制是由标准库来提供的。
为了使用标准库提供的IO机制,我们可以使用标准库定义的4个 对象 。
3.关键名词
表达式:一个或多个对象和一个运算符组成,会产生一个结果,
作用域运算符: 通过作用域运算符来告诉程序,我们想使用定义在哪个命名空间的对象。
关于其他的部分,后面的章节都有更详细的说明。
没基础的读者看这一章可能会有点懵逼,觉得自己竟然连第一章都看不懂。其实不用怕,后面会有更详细的解释。尤其是对类的说明是分了好几章来讲的。
如果零基础的读者觉得很吃力,可以把主函数那一段和注释还有输入输出看完就可以了。因为马上就会用到,是基础中的基础。其他的后面都会讲。
学习C++ Primer 的个人理解(一)的更多相关文章
- 学习C++ Primer 的个人理解(九)
这一章介绍顺序容器,在之前的第三章中,了解到的vector就属于顺序容器的一种. 一个容器就是一些特定类型对象的集合. 除了vector,还有哪些顺序容器? vector: 大小可变,随机访问的速度很 ...
- 学习C++ Primer 的个人理解(三)
第三章,主要内容是字符串和数组.感觉作者的意图是希望读者可以早一点可以写出简单的小程序,并且可以早点接触迭代器这种思想. 在我看来,这种内容的难度并不大. 对于编程来说,最重要的应该是思想,类似vec ...
- 学习C++ Primer 的个人理解(二)
本身就一定基础的读者我想变量常量这些概念应该已经不是问题了.但是本章还是有几个重点,需要特别留意一下的: 1.初始化和赋值是不同的操作 2.任何非0值都是true 3.使用新标准列表初始化,在有丢失精 ...
- 学习C++ Primer 的个人理解(零)
由于自己看书之后经常容易忘记细节,所以写在博客上让我自己的思路更加清晰一些. 我的博客仅仅只是将书中的内容概括一下,有一些不好理解的部分我会用我自己理解的方式使用大白话写出来. 仅此而已.
- 学习C++ Primer 的个人理解(十二)
动态内存与智能指针 在C++中, 动态内存用 new来分配空间并返回一个指向该对象的指针 用delete来销毁. 由于手动的对动态内存进行操作容易出现问题.所以新的标准库提供了两种智能指针. 智能指针 ...
- 学习C++ Primer 的个人理解(十一)
关联容器 就像是个字典, 其元素是 键 - 值 对. 关键字起到索引作用. 有序: map:关联数组:保存 健-值 对 set : 关键字既是值. multimap : 关键字可重复出现的map mu ...
- 学习C++ Primer 的个人理解(十)
标准库没有给每个容器都定义成员函数来实现 查找,替换等操作.而是定义了一组泛型算法,他们可以用于不同类型的元素或多种容器类型. 迭代器令算法不依赖与容器 算法永远不会执行容器的操作 算法本身不会执行容 ...
- 学习C++ Primer 的个人理解(八)
结束了第一部分,在最后的第七章,我只简单的总结了一下,因为后面还会更详细的说明有关类的内容.而且说实在的这一张的内容让我很不舒服,验证了本书实际上有许多内容是作者的学生一起拼凑而成的.第七章结构给我感 ...
- 学习C++ Primer 的个人理解(七)
类,后面还有两章是介绍有关于类的内容的.这一张依然只是个概括.但也已经将大致用法介绍完了. 重点如下: 1.成员函数的声明,必须在类的内部. 2.引用const成员函数 我们知道成员函数中有一个名为t ...
随机推荐
- delphi 选中的展开0级 子级不展开
TreeView1.Selected.Expand(False); //选中的展开0级 子级不展开 TreeView1.Selected.Expand(True); //全部展开 来自为知笔记(Wiz ...
- [置顶] ASP.NET MVC - Model Binding
Http Request 到Input Model的绑定按照model的类型可分为四种情况. Primitive type Collection of primitive type Complex t ...
- [Jest] Test JavaScript with Jest
Let's learn how to unit test your JavaScript with Jest, a JavaScript unit testing framework from Fac ...
- Android 滑动效果基础篇(四)—— Gallery + GridView
Android系统自带一个GridView和Gallery两个控件,GridView网格显示,Gallery单个浏览,两者结合起来可以真正实现Gallery浏览图片效果. 本示例通过GridView和 ...
- LVS 之 DR 2
http://www.cnblogs.com/kgdxpr/archive/2013/09/09/3309776.html http://lyp0909.blog.51cto.com/508999/5 ...
- VBoxGuestAdditions下载地址
http://dlc.sun.com.edgesuite.net/virtualbox/
- Jfinal学习笔记
实习期间,公司使用jfinal做开发,所以就学习了这个框架 Jfinal作为一个极速ORM,使用上非常方便,核心源代码1万多行,压缩后只有200多KB. 从入口开始 作为一个web项目,首先解读web ...
- struts2.1笔记05:struts2开发环境的搭建
1.找到开发Struts应用需要使用到的jar文件. 首先我们要在myEclipse中新建一个Web Project,我们这里命名为"struts2".然后我们就要使用jar文件, ...
- I2C驱动程序
i2c_add_driver i2c_register_driver driver->driver.bus = &i2c_bus_type; driver_register(&d ...
- HDU 2295 Radar (DLX + 二分)
Radar Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...