C++学习笔记
算法+数据结构=程序
1)数据结构:研究以何种方式存储,组织数据,以便高效率的处理这些数据。
2)算法:处理数据的步骤(过程)。
计算机算法可分为两大类:
一类叫做数值算法,它主要是解决一些工程上的数值计算问题,例如数值积分、数值求解微分方程等,有一门叫做《数值分析》或《计算方法》的 课程是专门讨论这类数值算法的。
令一类叫做非数值算法,它主要用于解决那些非数值的计算机问题,一般的程序设计中使用的算法多为这类非数值算法。
C++语法:
C++为类型建立别名的方式有两种。
1)一种是使用预处理器:
#define BYTE char // preprocessor replaces BYTE with char
2)第二种方法是使用 C++ ( 和 C ) 的关键字 typedef 来创建别名。
typedef char byte; // makes byte an alias for char
下面是通用格式:
typedef typeName aliasName;
模板:
函数模板:
template <typename AnyType>
void Swap(AnyTupe & a,AnyType &b){
AnyType temp;
temp = a;
a = b;
b = temp;
}
第一行指出,要建立一个模板,并将类型命名为 AnyType。关键字 template 和 typename 是必需的。
补充:
在标准 C++98 添加关键字 typename 之前,C++使用关键字 class 来创建模板。也就是说,可以这样编写模板定义:
template <class AnyType>
void Swap(AnyTupe & a,AnyType &b){
AnyType temp;
temp = a;
a = b;
b = temp;
}
typename 关键字使得参数 AnyType 表示类型这一点更为明显; 然而, 有大量代码库是使用关键字 class开发的。 在这种上下文中, 这两个关键字是等价的。