1.重写库函数:

在main方法之前先声明,例如: double sqrt(double);

在main方法之后,给出新的sqrt方法的实现,例如:

double sqrt(double d)

{

  return 2.5;

}

2.一些说明

main不是关键字,由于它不是语言的组成部分,不过,他是一个必不可少的函数的名称。可以用作变量名(在一些很神秘的以至于无法再这里介绍的情况中,将main用作变量名会引发错误,由于它在这种情况下都是容易混淆的,因此最好不要这样做).同样,其他函数名和变量名也都不能是关键字。不过,在程序中将同一个名称(比如cout)用作对象名会把编译器搞糊涂。也就是说,在不适用cout对象进行输出的函数中,可以将cout用作变量名,单不能再一个函数中同时将cout用作对象名和变量名。

3.关于给遍历命名:

以两个下划线或下划线和大写字母打头的名称被保留给实现(编译器及其使用的资源)使用。以一个下划线开头的名称被保留给实现,用作全局标示符。

C++对于名称的长度没有限制,名称中所有的字符都有意义。这一点使得C++与ANSIC(C99)标准有所区别,后者只保证名称中的前63个字符有意义(在ANSIC中,前63个字符相同的名称被认为是相同的,即使第64个字符不同).

4.关于位与字节

计算机内存的基本单位是位(bit).可以将位看做电子开关,可以开,也可以关。关表示值0,开表示值1.8位的内存块可以设置出256种不同的组合,因为每一位都可以有两种设置,所以8位的总组合为为256种。因此,8位单元可以表示0~255或者-128到127.每增加一位,组合数便加倍。

字节(byte)通常指的是8位的内存单元。从这个意义上说,字节值的就是描述计算机内存量的度量单位。1KB=1024字节,1MB=1024KB

5.C++特殊赋值

除了正常的给变量赋值之外,还可以这样:

int i=12;

int i(12);

两者等效。

6.符号常量--预处理器方式

#define INT_MAX 32767

和 #include一样,也是一个预处理器编译指令。该编译指令告诉预处理器:在程序中查找INT_MAX,并将所有的INT_MAX都替换为32767.因此#define编译指令的工作方式与文本处理器中的全局搜索和替换命令相似。#define是C语言遗留下来的。C++有一种更好的创建符号常量的方法(使用关键字const),所有不会经常使用#define。不过,有些头文件,尤其是那些被设计成可用于C和C++的头文件,必须使用#define.

7.输出

cout默认输出的是十进制的数值,如果想输出八进制或者十六进制的数值可以显示控制符:

cout<<hex<<"十六进制"<<endl;

cout<<oct<<"八进制"<<endl;

在修改格式以前,原来的格式一直有效.

8.转义序列

换行符 : \n,十进制  10, 十六进制0xA

水平制表符  \t,十进制 9,十六进制0x9

垂直制表符 \v,十进制 11, 十六进制0xB

退格  \b ,十进制 8,十六进制0x8

回车 \r ,十进制 13,十六进制0xD

振铃 \a|,十进制7,十六进制0x7

反斜杠 \,十进制92,十六进制0x5C

问号 \? ,十进制 63,十六进制0x3F

单引号 \' ,十进制 39,十六进制0x27

双引号 \",十进制 34,十六进制 0x22

9.数值转换潜在的问题

1>将较大的浮点类型转换为较小的浮点类型,例如将double转换为float,问题:精度降低,值可能超出目标类型范围,在这种情况下,结果将是不确定的

2>将浮点类型转换为整型,问题:小树部分丢失,原来的值可能超出目标类型的取值范围,在这种情况下,结果将是不确定的。

3>将较大的整型转换为较小的整型,如将long转换为short,问题:原来的值可能超出目标类型的取值范围,通常只复制右边的字节。

转载于:https://www.cnblogs.com/kingdom_0/articles/2313455.html

C++ Primer Plus 一相关推荐

  1. 《C++primer》第一章--开始

      之前开始读<C++primer>,想着读书不动笔不如不读书,于是就想做一个读书笔记的内容,于是就想起了写一个<C++primer读思录>的一个专栏.一是为了给自己平时读书做 ...

  2. C++ Primer 读书笔记 (1)

    我的<C++ Primer>扉页记着购书的日期和地点:C++ Primer 2009.11.28购于西区求索.那时对于这本厚书一直心怀敬畏,仿佛是眼前的一座大山.那时,虽然已经大四,但是对 ...

  3. C++ Primer(第4版)(评注版)

    <C++ Primer(第4版)(评注版)> 基本信息 原书名: C++ Primer (4th Edition) 原出版社: Addison-Wesley Professional; 4 ...

  4. C++ Primer英文版(第5版)

    <C++ Primer英文版(第5版)> 基本信息 作者: (美)李普曼(Lippman,S.B.) (美)拉乔伊(Lajoie,J.) (美)默Moo,B.E.) 出版社:电子工业出版社 ...

  5. C++ Primer 学习笔记(第四章:表达式)

    2019独角兽企业重金招聘Python工程师标准>>> ##C++ Primer 学习笔记(第四章:表达式) [TOC] ###4.1 基础 左值和右值: 当一个对象被用作右值的时候 ...

  6. C++ Primer 第三版 读书笔记

    1.如果一个变量是在全局定义的,系统会保证给它提供初始化值0.如果变量是局部定义的,或是通过new表达式动态分配的,则系统不会向它提供初始值0 2.一般定义指针最好写成:" string * ...

  7. c++ primer,友元函数上的一个例子(By Sybase)

    本文试图解释c++ primer Screen 和 Window_Mgr的例子,为什么将两个类放在两个文件中无法编译? 将两个类写在同一个文件中,通过三个例子解释问题: 第一种写法问题: 编译到Scr ...

  8. 《C Primer Plus(第6版)中文版》一第1章 初识C语言1.1 C语言的起源

    本节书摘来自异步社区<C Primer Plus(第6版)中文版>一书中的第1章,第1.1节,作者 傅道坤,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第1章 ...

  9. C++ primer学习方法

    C++ primer学习: 第一次可以跳着看.关键是要尽快用起来,在使用中熟练,而不是在细节中迷失. 以C++ Primer第五版为例,第一遍读的时候: Part1也就是前七章,除了6.6,6.7节, ...

  10. 程序清单3.3_bases.c程序_《C Primer Plus》P37

    /* bases.c -- 以十进制.八进制.十六进制形式输出 100 */// bases.cpp : 定义控制台应用程序的入口点. // /*时间:2018年06月03日 23:23:06代码:程 ...

最新文章

  1. python xlsxwriter 在 flask 中的使用
  2. 操作系统/etc/hosts文件配置
  3. 每输入四个字符添加一个中划线
  4. 最早的齿轮计算机,世界最古老“计算机”出土后110年,科学家终于解开它的秘密...
  5. hdu5692 Snacks dfs序+线段树
  6. 操作系统之内存管理:4、基本地址变换机构(段氏、页式、段页式)
  7. 将ibatis.net中定义的statement转换为实际的sql语句
  8. 线程不安全 静态变量_【高并发】面试官问我:为啥局部变量是线程安全的?...
  9. atitit.TokenService v3 qb1 token服务模块的设计 新特性.docx
  10. 解决百度富文本编辑器Ueditor自定义上传视频封面
  11. 人工智能:博弈--人机中国象棋
  12. PMP学习笔记 第10章 项目沟通管理
  13. “客户机操作系统已将 CD-ROM 门锁定,并且可能正在使用 CD-ROM,这可能会导致客户机...” 报错解决办法
  14. 支付接口对接技术通用方法 第三方四方支付接口对接开发教程API集成服务
  15. rtx3070显卡什么水平什么档次 RTX3070怎么样
  16. 手写Vue个人组件库——fl-Lazyimg 图片懒加载
  17. 利用XGBoost实现短期电力负荷预测
  18. iOS支付指南:POS终端刷卡流程、银联55域TLV子域信息说明、银联前置、NFC
  19. 求通俗解释下bandit老虎机是个什么东西?
  20. Navicat连接Linux的MySQL出错排查

热门文章

  1. 【项目管理】敏捷宣言
  2. 笔记-高项案例题-2019年上-人力资源管理
  3. Linux网络状态工具ss命令操作详解
  4. 程序猿个人发展(公司群分享)
  5. SpringCloud(若依微服务版)读取Nacos中的配置以及多个服务共享Nacos配置的使用
  6. SpringBoot中使用FastJson解析Json数据
  7. SpringBoot项目启动提示:An attempt was made to call the method org.apache.coyote.AbstractProtocol.setAccept
  8. The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone
  9. Atom中安装atom-terminal插件来打开命令行运行vue项目
  10. 熟读《阿里巴巴java开发手册》(二、异常日志)