本文来简单地谈谈 C++ 的转义序列,有两类字符程序员不能直接使用,第一类是不可打印的字符,如换行符,响铃符,制表符等等,这些字符没有办法通过直接输入得到直接的输出,第二类是在 C++ 中有特殊含义的字符,这类字符同样没有办法通过直接输入得到直接的输出,这两类字符都只能通过转义序列进行实现,C++ 语言规定的转义序列包括:
- Mar 12, 2014MORE
C++ 中含有无符号类型的表达式
Mar 7, 2014MORE对于一个无符号类型和一个有符号类型的加法问题,参见 C++ 中有符号类型到无符号类型的转换 ,下面我们来谈谈一个无符号类型减去一个值的情形,首先看下面的代码:
C++ 中的基本内置类型以及编程过程中对于类型的选择建议
Mar 7, 2014MOREC++ 中定义了包括 算术类型 和 空类型 在内的数据类型,空类型一般只用于特定的场合,例如在程序运行完毕后补要求返回任何值时,可对函数类型用空类型,算术类型总的来说包括两个方面:整型(包括字符型以及布尔型在内) 和 浮点型,C++ 标准只是规定了算术类型所占的最小比特位:
C++ 中有符号类型到无符号类型的转换
Mar 6, 2014MORE为了更好地解释下面的代码,先来介绍一些背景知识,在我的计算机中, char 类型占 8 个比特位,那么, unsigned char 类型能表示的数的范围为 0 ~ 2的8次方 – 1,即 0 ~ 255,共 256 个数;int 类型占 32 个比特位,那么 unsigned 类型所能表示的数的范围为 0 ~ 2的32次方 – 1,即 0 ~ 4294967295,共 4294967296 个数,接下来看下面的代码:
C++ Primer 中文版第五版错误(持续更新中)
Mar 6, 2014MORE这篇文章是对 《C++ Primer 中文版第5版》 中错误的列举,会随着时间的推移持续更新
有关C++输入,类,文件重定向的使用和成员函数的简单小结
Mar 1, 2014MORE读取数量不定的输入数据
在日常生活中,我们经常需要处理的是输入数据量不确定的数据,那么,在 C++ 语言中怎样将这些数量不确定的数据输入到计算机呢?譬如,我们输入不定量的数据后,求这些数据的和, C++ 中是怎么实现的呢?说来也很简单,看看下面的代码吧:
1
2
3
4
5
6
7
8
9
10
11
12
int main()
{
int sum = 0, val = 0; /* 变量的初始化 */
while (std::cin >> val) /* 读取数量不定的输入数据 */
sum + = val;
std::cout << "Sum is " << sum << std::endl;
return 0;
}由上面非常简单的一个小程序我们可以看到,实现读取不定数量的输入数据是依靠
while (std::cin >> val)
来实现的,表达式std::cin >> val
从标准输入读取数据后存入变量val
并且返回一个 istream 对象(输入运算符返回其左侧运算对象,即std::cin
),也就是说,while
循环的条件是一个 istream 类型的对象,其效果是检测流的状态,如果流是有效的,即流没有遇到错误,那么检测成功,当遇到文件结束符或者一个无效的输入时(例如在以上程序中读入的值不是一个整数),条件变假从键盘输入文件结束符:
Windows: Ctrl + Z,然后按 Enter 或 Return 键
UNIX/Mac OS X: Ctrl + D
C++ 中关于 iostream、源文件命名约定以及运行 GNU (微软)编译器的几点说明
Feb 11, 2014MORE关于
#include <iostream>
在一个C++程序中,几乎都需要有这么一条语句
#include <iostream>
,以致于我们每写一个C++程序,都习惯性地先写下这条语句,再接着写程序的其他部分,由于写下这条语句是习惯性的动作,所以我估计很少有人真正花时间回想一下这究竟是什么东西?为什么在一个C++程序中要写这条语句?说来也很简单:在C++中,没有专门用来进行输入输出(IO)的语句,而是用标准库来提供IO机制,我们通常只需要了解IO库中的一部分基本概念和操作,iostream 库包括两个基础类型:istream 类型和 ostream 类型,分别表示输入流和输出流。
标准库定义了4个IO对象:
- cin (发音为 see-in) —— istream 类型的对象,也被称为标准输入
- cout (发音为 see-out) —— ostream 类型的对象,也被称为标准输出
- cerr (发音为 see-err) —— ostream 类型的对象,通常用来输出警告和错误信息
- clog (发音为 see-log) —— ostream 类型的对象,输出程序运行时的一般性信息
系统通常将程序所运行的窗口与这些对象关联起来。
#include <iostream>
是告诉编译器我们想使用 iostream 库,尖括号中的名字指出了一个头文件,每个使用标准库设施的程序都必须包含相关的头文件,#include
指令和头文件的名字必须出现在同一行中。
我为什么要写博客
Feb 9, 2014MORE为什么要写博客?就像上面那张图片中说的那样,生活是点点滴滴的累积。
以前觉得根本就没有写什么博客的需要,因为觉得是浪费时间,与其把时间投入在写博客这件事情上,还不如多去看点书,现在看来,写技术博客,能带来的好处主要有以下几点: