【C++ Primer 5th】Chapter 1
1. 每个C++都包含至少一个函数,其中一个必须为main函数,且 main 函数的返回类型必须为 int。
2. 函数定义包括:返回类型,函数名,形参列表,函数体
3. main 函数返回值用来指示状态,0表示成功,其他值含义由系统定义,通常用来表示错误类型。
4. 通过 echo 命令可以获得 main 函数返回值。UNIX: echo $? Windows : echo %ERRORLEVEL%. -Wall和/W4是打开警告选项,能对有问题的程序结构发出警告
| 编译器 | 系统环境 | 编译 | 运行 | 获取返回值 |
|---|---|---|---|---|
| VS | Windows | c1 /EHsc /W4 prog1.cc |
prog1 |
echo %ERRORLEVEL% |
| GNU | Unix | g++ -std=c++11 -Wall prog1.cc |
./a.out |
echo $? |
5. 标准库有四个IO对象,cin,cout,cerr(警告错误、不缓冲),clog(一般性信息、缓冲). 默认cin和cerr会刷新cout缓冲区。程序异常终止时不会刷新cout缓冲区。读写缓冲区的动作与程序中的动作是无关的。
6. #include指令和头文件名称必须在同一行,且指令必须在所有函数外。
7. << 和 >> 运算结果皆为左侧运算对象。
8. 写入endl效果是结束当前行,并将与设备关联的缓冲区中的内容刷新到设备中。程序员应该一直保持刷新流,否则程序崩溃时输出可能还留在缓冲区中。
9. 命名空间可以避免不经意的名字定义冲突,以及使用库中相同名字导致的冲突。标准库定义所有名字都在命名空间std中,即调用标准库需显式说明作用域std::。通过使用作用域运算符 :: 来指出指定命名空间中的名字。
10.注释有两种:单行注释和界定符对注释。注释界定符内可以包含除*/之外的任意内容。注释界定符不能嵌套。
11. 当遇到文件结束符或遇到一个无效输入时,istream对象的状态会变为无效,即假。Windows:Ctrl+Z,然后按Enter或Return键;Unix:Ctrl+D
12. 文件重定向:prog1<infile>outfile prog1为exe格式文件,
13. 成员函数是定义为类的一部分的函数,有时也被称为方法。
14. 点运算符只能用于类类型的对象。
【C++ Primer 5th】Chapter 1的更多相关文章
- 【C++ Primer 5th】Chapter 15
摘要: 1. 面向对象程序设计的核心思想是数据抽象.继承和动态绑定.数据抽象将类的接口和实现分离:继承定义相似的类型并对齐相似关系建模:动态绑定,在一定程度上忽略相似类型的区别,而以统一的方式使用它们 ...
- 【C++ Primer | 15】C++虚函数表剖析①
概述 为了实现C++的多态,C++使用了一种动态绑定的技术.这个技术的核心是虚函数表(下文简称虚表).本文介绍虚函数表是如何实现动态绑定的. C++多态实现的原理: • 当类中声明虚函数时,编译器会 ...
- 【c++ primer, 5e】设计Sales_data类 & 定义改进的Sales_data类
[设计Sales_data类] 1.考虑Sales_data类应该有那些接口. isbn.combine.add.read.print... 2.考虑如何使用这些接口. Sales_data tota ...
- 【c++ primer, 5e】函数重载
[函数重载] Java中的重载一般是指重载构造器,或是子类覆写父类的方法:C++中的重载稍微复杂一些. 定义重载函数 典型的数据库应用. Record lookup(const Account& ...
- 【c++ primer, 5e】返回类型和return语句
[无返回值函数] 1.在c++的void函数中,可以显式地使用return;语句来提前结束函数的调用. [有返回值函数] 1.值是如何被返回的:返回一个值的方式和初始化一个变量或者形参的方式完全一样. ...
- 【c++ primer, 5e】参数传递
p187~p199: [传值参数] [传引用参数] 使用引用形参返回额外信息:传入一个(或者多个)额外的引用实参,令其保存字符出现的次数. 6.11 #include <iostream> ...
- 【c++ primer, 5e】类的其他特性(卒)
1 - Class Members Revisited 2 - Functions That Return *this 3 - Class Types 4 - Friendship Revisited ...
- 【C++ Primer | 10】再探迭代器
插入迭代器 1. 测试代码: #include<iostream> #include<vector> #include<list> #include<iter ...
- 【C++ Primer | 10】泛型算法
#include<iostream> #include<algorithm> #include<vector> #include<string> #in ...
随机推荐
- extendgcd模板
看了数论第一章,终于搞懂了扩展欧几里德,其实就是普通欧几里德的逆推过程. // ax+by = gcd(a,b) ->求解x,y 其中a,b不全为0,可以为负数// 复杂度:O(log2a)vo ...
- eclipse 创建maven web 项目
虽然网上教程一大把,但也重新整理下. 一.创建项目 1.Eclipse中用Maven创建项目 上图中Next 2.继续Next 3.选maven-archetype-webapp后,next 4.填写 ...
- Ajax之基础总结
一.Ajax 简介 Ajax 由 HTML.JavaScript技术.DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序.在详细探讨 Ajax 是 ...
- mysql语句, 空的 order by , 空的 where
SQL语句里, 空的 where, where 1 AND status=1 空的 order by, order by null, updatetime desc 这种空值的情况, 是很有用处的: ...
- 【题解】POJ2279 Mr.Young′s Picture Permutations dp
[题解]POJ2279 Mr.Young′s Picture Permutations dp 钦定从小往大放,然后直接dp. \(dp(t1,t2,t3,t4,t5)\)代表每一行多少人,判断边界就能 ...
- 基于SQLAIchemy的Flask目录
预先知识 flask的基本使用 快速搭建开发的目录,以后我们在用Flask开发项目的时候可以直接用这个目录,不需要再自己创建. flask-sqlalchemy flask-sqlalchemy相当于 ...
- 在Nginx/Openresty中启用http2支持
转自个人博客 chinazt.cc 以下摘自http2的介绍: HTTP/2 源自 SPDY/2 SPDY 系列协议由谷歌开发,于 2009 年公开.它的设计目标是降低 50% 的页面加载时间.当下很 ...
- 使用阿里云的PyPI源
方法1:(1)创建pip.conf文件 (2).编辑如下内容 [global] index-url = http://mirrors.aliyun.com/pypi/simple/ [install] ...
- Idea 包名按树形结构展示
Idea默认包名展示如图: 感觉这样展示,在包下面建包的时候不方便,可以在 设置按钮 里面去掉 Flatten Packages 和 Compact Empty Middle Packages,设置如 ...
- 分享知识快乐自己:Layui 常用样式
下载 样式包 Layui layer 引入 js 及 样式: <link rel="stylesheet" href="${ctx}/static/layui/ ...