
C++ Primer 学习笔记
达也酱
学习使我快乐
展开
-
原 C++ Primer学习笔记 - 18 - 字符串、向量和数组 (七)多维数组
文章目录3.6 多维数组C++中多维数组的几个特征习题3.43 使用三种方式输出多维数组ia的值,第一种使用范围for循环,第二种使用普通的for循环并且使用下标取值,第三种也使用普通的for循环但要使用指针。要求不使用自动类型推断比如auto、decltype等。3.44 改写上面的程序,使用类型别名替换循环变量控制的类型。3.45 再次改写程序,要求使用auto关键字一点想法记录 3.6 多维...原创 2019-11-01 10:19:48 · 159 阅读 · 0 评论 -
C++ Primer学习笔记 - 13 - 字符串、向量和数组 (一)
文章目录3.1 命名空间的using声明主要概念练习3.2 标准库类型string3.2.1定义和初始化操作3.2.2string对象上的操作3.2.2节练习 3.1 命名空间的using声明 主要概念 每个using声明引入命名空间中的一个成员。(实际操作中发现只要引入命名空间就可以使用所有的可用成员) 头文件不应该包含using声明。 练习 练习3.1 使用恰当的using声明重做和1.4...原创 2019-03-14 18:56:36 · 198 阅读 · 0 评论 -
C++ Primer学习笔记 - 11 - 处理类型
文章目录2.5.1 类型别名主要概念2.5.2 auto类型说明符主要概念练习2.5.3 decltype类型指示符主要概念练习 2.5.1 类型别名 主要概念 typedef可以用于定义类型别名:typedef double wages; using也可以用于定义别名:using SI = Sales_item; 类型别名和类型名字行等价。 使用复合类型或常量时要特别注意意外情况。 2.5....原创 2019-03-07 16:12:43 · 149 阅读 · 0 评论 -
C++ Primer学习笔记 - 12 - 自定义数据结构
文章目录定义sata类型主要概念练习 定义sata类型 主要概念 以struct开始,跟着类名和类体,其中类体可以为空,以花括号包围,以分号结尾。 类体中可以定义变量,可以为数据成员提供一个类内初始值。 练习 练习2.39:编译下面的程序观察其运行结果,注意,如果忘记写类定义 体后面的分号会发生什么情况?记录下相关信息,以扣可能 会有用。 struct Foo{} int main() {...原创 2019-03-07 19:13:39 · 155 阅读 · 0 评论 -
C++ Primer学习笔记 - 14 - 字符串、向量和数组 (二)
文章目录3.2 处理string对象中的字符主要概念练习 3.2 处理string对象中的字符 主要概念 一些常用 的string处理函数: 函数名 作用 isalnum(c) 当c是字母或数字时为真 isalpha(c) 当c是字母时为真 islower(c) 当c是小写字母时为真 isupper(c) 当c是大写字母时为真 iscntrl(c) 当c是控制字...原创 2019-03-15 11:43:36 · 237 阅读 · 11 评论 -
C++ Primer学习笔记 - 15 - 字符串、向量和数组 (三)
文章目录3.3.1 定义和初始化vector对象主要概念练习3.3.2 向vector对象中添加元素主要概念练习3.3.3 其他vector操作主要概念练习 3.3.1 定义和初始化vector对象 主要概念 vector是一个类模版,通过提供一些额外信息来指定模板 到底实例化面干什么样的类,需要提供的信息由模板决定。 vector需要提供的信息是一个对象的类型 定义和初始化一个vector对象...原创 2019-03-15 17:57:17 · 212 阅读 · 3 评论 -
C++ Primer学习笔记 - 15 - 字符串、向量和数组 (四) 迭代器介绍
文章目录迭代器介绍3.4.1 使用迭代器3.4.1 练习练习3.21练习 3.22练习3.233.4.2 迭代器运算3.4.2 练习练习3.24练习3.26 迭代器介绍 迭代器是一种更通用的访问内容的机制 ,能提供 对对旬的间接访问。 3.4.1 使用迭代器 有迭代器的类型同时拥有返回迭代器成员,所有迭代器类型都有名为begin和end的成员,顾名思义,begin指向第一个成员,end指向结束的...原创 2019-04-30 18:27:27 · 246 阅读 · 0 评论 -
原 C++ Primer学习笔记 - 17 - 字符串、向量和数组 (六) C风格字符串
文章目录碎碎念3.5.4 C风格字符串3.5.4练习练习3.37练习3.38练习3.39练习3.403.5.5 与旧代码的接口3.5.5练习练习3.41:练习3.42 碎碎念 很明显能看出来C++在努力地做去指针化和去C化又想做好兼容,但是,拿这个string类型来说,真的是个半残啊,连跟以前对应的sprintf对应的格式化方式都没有。 关于下标越界,有一个专用名词叫缓冲区溢出(buffer o...原创 2019-05-13 18:27:13 · 192 阅读 · 0 评论 -
C++ Primer学习笔记 - 16 - 字符串、向量和数组 (五) 数组
文章目录3.5.1 数组3.5.1练习练习3.27练习3.28练习3.293.5.2 访问数组元素3.5.2 练习练习3.30练习3.31练习3.32练习3.333.5.3 指针和数组 3.5.1 数组 数组是一种复合类型,必须在定义时就指定大小。 基本格式: 类型 变量名 [常量表达式],如果同时进行初始化,可以省略常量表达式,由编译器确定大小。 注意复杂数组的声明: 声明 说明 ...原创 2019-05-07 18:36:10 · 396 阅读 · 1 评论 -
C++ Primer学习笔记 - 10 - 基本内置类型 (五)
文章目录2.4节 ```const```限定符主要概念练习2.4.1 ```const```引用 2.4.2 指针和```const```主要概念练习2.4.3 顶层const主要概念练习2.4.4 constexpr表达式主要概念练习 2.4节 const限定符 主要概念 const限定符可以在编译层面防止对一个变量的值进行修改。 默认状态下const变量仅在文件内有效,并且定义时就必须进...原创 2019-03-06 18:38:50 · 191 阅读 · 10 评论 -
C++ Primer学习笔记 - 9 - 基本内置类型 (四)
文章目录2.3.1 引用主要概念练习2.3.2 指针主要概念练习2.3 理解复合类型的声明主要概念练习 2.3.1 引用 主要概念 引用(reference) 为对象起了另外一个名字,引用类型引用(refers to)另外一种类型。 通过在声明符前加 &的形式为定义引用类型,例如: int ival = 1024; int &refVal = ival; int &re...原创 2019-03-06 15:06:26 · 212 阅读 · 0 评论 -
C++ Primer学习笔记 - 1 - 万物之始:编译并运行第一个C++程序
使用平台说明 环境变量配置 基本指令操作 帮助指令 cl -help 注意:在不同的位置调用,可能需要不同的权限 此程序中编译所需要的库添加 CMD和powershell存在一些不同的特定变量 CMD获取上一次的返回值 %ERRORLEVEL% powershell $LASTEXITCODE ...原创 2019-01-25 01:10:51 · 541 阅读 · 0 评论 -
C++ Primer学习笔记 - 2 - 输入输出
文章目录小节主要内容习题习题1.3习题1.4习题1.5习题1.6结束 小节主要内容 C++没有定义任何IO语句,而是使用了标准库来提供IO机制,iostream就是其中的一个库,包含 istream和ostream。 iostream库中包含几个输入输出对象:cin、cout、clog、cerr。 使用iostream库前,要使用 #include对iostream库进行引用,通常写在源文...原创 2019-01-25 01:06:50 · 370 阅读 · 0 评论 -
C++ Primer学习笔记 - 3 - 注释
文章目录主要内容习题1.7习题1.8 主要内容 没啥好说的,两种注释,/和/* */,都是常规套路,注意不支持嵌套。 直接上习题吧。 习题1.7 编译一个包含不正确的嵌套注释的程序,观察编译器返回的错误信息。 代码如下: int main() { /* /* 不正确嵌套 */ */ return 0; } 编译时提示在注释外找到注释办公室符 ...原创 2019-01-25 21:44:28 · 225 阅读 · 0 评论 -
C++ Primer学习笔记 - 4 - 控制流
文章目录主要内容while语句几个许多语言都有的内容:习题1.9习题1.10练习1.11for 语句习题1.12习题1.13练习1.14练习1.15读取不定量的数习题 1.16if 语句练习1.17习题 1.18习题1.19 主要内容 程序语句一般是顺序执行的,但是控制流可以控制执行路径——说大白话,就是常用的while、for、if等语句 while语句 几个许多语言都有的内容: while语...原创 2019-01-25 23:14:11 · 191 阅读 · 0 评论 -
C++ Primer学习笔记 - 5 - 类简介
文章目录关键内容习题习题1.20习题1.21习题1.22习题1.23习题1.24习题1.25结束 关键内容 类的简单作用 类定义了行为 一个类的作者定义了这个类的对象可以执行的所有动作。 习题 习题1.20 用Sales_item类编写一个程序,读取一组书籍销售记录,将每条记录打印到标准输出上 找这个Sales_item还费了点劲,书上提供的地址找不到文件,有需要的可以下载我的文件: ...原创 2019-01-27 01:46:18 · 223 阅读 · 0 评论 -
C++ Primer学习笔记 - 6 - 基本内置类型
文章目录主要内容习题习题2.1习题2.2 主要内容 1.C++提供了多种内置类型(和其他语言的类型没有太大区别) 2.C++的无符号类型是在类型前加unsigned标志 3.float型和double型数据在计算时的消耗相差无几,但float精度经常不够,尽可能使用double 4.char类型和其他的基本类型稍有区别,被分为了三种:char、signed char、unsigned char,在...原创 2019-01-27 23:18:42 · 197 阅读 · 0 评论 -
C++ Primer学习笔记 - 7 - 基本内置类型 (二)
文章目录2.1.2 类型转换2.1.2 习题2.1.3 字面值常量2.1.3练习总结 2.1.2 类型转换 几条简单的理解: 系统会自动进行一些基本类型的转换,使用时要注意。 非0值都为true,0为true。 浮点数转换为整数时会自动去掉小数部分。 无符号类型超出范围会溢出,结果是对其最大值取模后的值。 带符号类型超出范围会表现为未定义(undefined)。 要注意带符号类型和无符号类型的混...原创 2019-03-05 23:30:53 · 258 阅读 · 0 评论 -
C++ Primer学习笔记 - 8 - 基本内置类型 (三)
文章目录2.2.1节 变量定义简单要点练习2.2.2节 变量声明和定义的关系主要概念练习2.2.3 标识符主要概念练习2.2.4节 名字的作用域主要概念练习 2.2.1节 变量定义 简单要点 初始化和赋值是具有不同意义的,初始化是创建变量是赋予其一个初始值,而赋值是把对象的当前值擦除而以一个新的值替代。 列表初始化的四种形式: int a = 0; int a = {0}; int a{...原创 2019-03-06 12:37:20 · 255 阅读 · 0 评论 -
C++ Primer学习笔记 - 0 - 开始——前言和计划
文章目录开端学习目标学习计划记录格式结尾 开端 近来新工作新项目使用了一段时间的cocos2d-x,逐渐熟悉了C++的一些简单用法,但是总感觉没有系统学习过,遂入手传说中的C++圣经——C++ Primer,计划用一个季度的时间通读一遍,对C++有更系统和完整的了解。 学习目标 不知道从什么时候开始,慢慢养成了先看序和目录的习惯,拿到手以后先翻了一通几个推荐序和前言以及之后的目录。其实从书的厚度就...原创 2019-01-24 22:20:37 · 421 阅读 · 0 评论