摘要:
//算术运算符 +, -, *, /, % //关系运算符: <, <=, >, >= ==, !=, //逻辑运算符 &&, || //按位运算符 &, |, ^, <<, >>, ~; //赋值运算符, 表达式 i = i+2 可以缩写为 i+=2; expr1 = (expr1) op (ex 阅读全文
摘要:
数据类型 类型|说明 | char|字符型, 一个字节 int|整型 float|单精度浮点型 double|双精度浮点型 bool|布尔类型, c++新增的类型, c语言中没有. 限定符 整型限定符: short, long; 用于限定整型. 比如: short int sh; long int 阅读全文
摘要:
c语言中: 动态分配内存: malloc()函数; 释放内存: free()函数; c++中: 上述函数仍然可以使用; 动态分配内存: new关键字; 释放内存: delete关键字; int *p = new int; delete p; int *p = new int[10]; delete[ 阅读全文
摘要:
1 函数模板 语法: (其中typename可以使用class代替) template <typename 类型名称1, typename 类型名称2[, ...]> 返回值类型 函数名(形式参数){ //TODO, 可以使用类型参数 } 举例 #include <iostream> templat 阅读全文
摘要:
<c++ primer plus>第六版 13 类继承 面向对象编程的主要目的之一是提供可重用的代码. 传统的C函数库通过预定义/预编译的函数(strlen(), rand()等)提供可重用性. 但函数库也有局限, 就是无法根据特定需求对函数进行扩展和修改. c++类提供了更高层次的重用性, 可以通 阅读全文
摘要:
<c++ primer plus>第六版 12 类和动态内存分配 12.1 动态内存和类 12.1.1 示例和静态类成员 //以下两行代码等价 // 都是使用一个对象来初始化新对象, // 调用的构造函数为: StringBad(const StringBad &); StringBad sailo 阅读全文
摘要:
<c++ primer plus>第六版 11 使用类 11.1 运算符重载 函数重载/函数多态: 定义多个名称相同但特征标不同的函数. 运算符重载是一种形式的c++多态, 将重载的概念扩展到运算符上. 运算符函数, 是一种特殊函数形式, 格式如下: operatorop(argument-list 阅读全文
摘要:
<c++ primer plus>第六版 10 对象和类 重要的OOP特性: 抽象 封装和数据隐藏 多态 继承 代码的可重用性 10.1 过程性编程和面向对象编程 10.2 抽象和类 10.2.1 类型是什么 10.2.2 c++中的类 #ifndef STOCK00_H_ #define STOC 阅读全文
摘要:
<c++ primer plus>第六版 9 内存模型和名称空间 9.1 单独编译 单独编译组件函数文件, 然后将它们链接成可执行程序. (c++编译器既编译程序, 也管理链接器) 程序分为三部分: 头文件: 包含结构声明, 使用这些结构的函数原型. 源代码文件1: 包含与结构有关的函数的代码. 源 阅读全文
摘要:
<c++ primer plus>第六版 8 函数探幽 8.1 c++内联函数 内联函数是c++为提高程序运行速度所做的改进. 常规函数与内联函数之间的区别, 不在于编写方式, 而在于c++编译器如何将它们组合到程序中. 例: 一般定义内联函数时, 省略函数原型, 直接在原型处定义整个函数. inl 阅读全文