C/C++
文章平均质量分 85
_duadua
这个作者很懒,什么都没留下…
展开
-
C++回炉之_C++PrimerPlus_第五章 循环和关系表达式
for循环 for(init; test; update) { // 初始化; 测试条件; 更新(步长) statement; } for(int i = 0; i < 10; ++i) { cout << i << endl; } for(int i = 0; i <= 10; i += 2) cout &...原创 2018-03-07 14:07:08 · 193 阅读 · 0 评论 -
C++回炉之_C++PrimerPlus_第十三章 类继承
类的成员初始化表 类的成员变量总是在构造函数执行前创建完毕 但有此成员变量只能在初始化时赋值 – 如const型常量 和 引用 使用初始化表可以使指定构造函数中的参数或常量作为成员的初始值 Point::Point(int i, int j): x(i), y(j) {} 初始化表只能用于构造函数 必须使用初始化表来初始化const型常量和引用 成员初始化的顺序与它们出现在类声明中的位置有关...原创 2018-04-02 14:21:36 · 449 阅读 · 0 评论 -
C++回炉之_C++PrimerPlus_第九章 内存模型名称空间
头文件 包含内容 使用#define或const定义的符号常量 函数原型 结构体声明 类声明 模板声明 内联函数 头文件的作用 对包含头文件的源代码文件(.cpp)进行单独编译时,预处理器将其与源文件合并 从而创建临时文件(.cpp) 使用 系统头文件用#include <XXX.h> 用户头文件用#inllude "XXX.h" 使用条件编译防止多次包含头文件 #if...原创 2018-03-17 10:41:21 · 524 阅读 · 1 评论 -
C++回炉之_C++PrimerPlus_第八章 函数探幽
内联函数 内联函数的编译代码与其他的程序代码“内联”到一块了 即编译器使用相应的函数代码来替代函数调用,从而不需要像函数调用那样跳来跳去 内联函数的运行速度比常规函数快,但需要更多的内存 在处理函数调用机制所占时间比执行函数代码的时间还长时,使用内联可节约大量的时间 即对代码执行很短,但调用非常频繁的函数,最好使用内联 使函数变为内联的方法 在函数声明前加关键字 inline 在函数定义...原创 2018-03-14 15:03:15 · 432 阅读 · 2 评论 -
C++回炉之_C++PrimerPlus_插曲 编程习惯
我的编程习惯 尽量使用下划线(_)而非大写字母 类 类首字母大写 类成员变量 – 加 m_ 前缀 静态成员变量 – 加 s_ 前缀 类成员函数 公有函数 – 不加任何前缀 私有函数 – 加 pri_ 前缀 保护函数 – 加 pro_ 前缀 静态函数 – 加 sta_ 前缀 声明顺序 先声明构造和析构相关的函数 再声明对成员变量纯存取的函数 最后声明其他功能函数 访问控制符按 privat...原创 2018-03-23 17:30:53 · 215 阅读 · 0 评论 -
C++回炉之_C++PrimerPlus_第十一章 使用类
运算符重载 运算符重载是多态的一种形式 C++允许赋予运算符多种含义 运算符重载可使使用自定义类型看起来更像基本的数据类型 一个例子 使用 operator声明重载函数 调用 z = x + y; 相当于 z = x.operator+(y); #pragma once class Point{ private: double m_x; double m_y; pr...原创 2018-03-25 19:52:03 · 347 阅读 · 0 评论 -
C++回炉之_C++PrimerPlus_第十章 对象和类
OOP的特性 抽象 封装 和 数据隐藏 多态 继承 代码可重用 类 将抽象转换为用户定义类型的C++工具 数据表示 + 操纵数据的方法 组成 类声明 – 蓝图 以数据成员的方式描述数据部分 以成员函数(方法)的方式描述公有接口 接口 – 供用户使用以操纵数据的共享框架 类定义 – 细节 描述如何实现类成员函数 来看一个例子 // Object.h #pragma onc...原创 2018-03-19 15:16:33 · 286 阅读 · 0 评论 -
C++回炉之_C++PrimerPlus_第四章 复合类型(二)
指针 声明和初始化 int a = 5; int* p = &a; // & 取地址 使用 cout << *p << endl; // * 取值 指针的危险 空指针 没有指向具有一定意义的内存 野指针 指针变量未初始化 – 可手动初始化为nullptr 或 NULL 指针释放后之后未置空 – 可手动初始化为null...原创 2018-03-05 22:39:30 · 249 阅读 · 0 评论 -
C++回炉之_C++PrimerPlus_第四章 复合类型(一)
数组 数组的声明 int a[100]; typename array_name[array_size]; array_size 不能是变量 可通过索引(下标)对数组元素进行访问 – 下标范围[0, array_size) a[3] = 100; 数组的初始化 int a[4] = { 3, 6, 8, 10}; 只有创建时才能初始化, 此后便不能使用初始化表初始化了 也不能将一个数组赋...原创 2018-03-04 22:46:45 · 239 阅读 · 0 评论 -
C++回炉之_C++PrimerPlus_第三章 处理数据
变量命名 只能使用 字符字母 数字 下划线(_) 第一个字符不能为数字 不能将C++关键字作为名称 区分大小写 以两个下划线或下划线和大写字母打头的名称被保留给实现(编译器及其使用的资源)使用 以一个下划线打头的名称被保留给实现,用作全局标识符 对名称长度无限制, 但C99的限制是63个字符 整型 short 至少16位 int 至少和short一样长 long 至少32位, 且至...原创 2018-03-04 17:24:10 · 258 阅读 · 0 评论 -
C++回炉之_C++PrimerPlus_第二章 开始学习C++
第一滴血 // hello.cpp /* This is my first code */ #include <iostream> using namespace std; int main() { cout << "hello world" << endl; return 0; } 输出结果 hello world ...原创 2018-03-04 00:15:03 · 198 阅读 · 0 评论 -
C++回炉之_C++PrimerPlus_第一章 预备知识
C ++ 其人 诞生 – 20世纪80年代 Bjarne Stroustrup 贝尔实验室 发展 – C++98 C++11 性格 – OOP(面向对象) Generic(泛型编程) 后面会展开讲 程序创建的技巧 使用IDE创建源代码 常用IDE VS(工程党推荐) codeblocks(竞赛党推荐) Xcode(土豪推荐) CodeLite(开源推荐) 编译和链接 ...原创 2018-03-03 23:38:39 · 255 阅读 · 0 评论 -
C++回炉之_C++PrimerPlus_第七章 函数 -- C++的编程模块(二)
函数和二维数组 使用二维数组作为参数, 必须指定第二维的维数 – 元素的类型 表示arr为一个数组名,而数组的每一个元素也是一个数组, 由2个int组成 即arr的类型是指向由2个int组成的数组的指向 其中的括号必不可少,因为 int *arr[2]表示由2个指向int的指针组成的数组 – 函数参数不能为数组 另一种格式 – int sum(int arr[][2], int n);二者...原创 2018-03-11 22:33:51 · 343 阅读 · 0 评论 -
C++回炉之_C++PrimerPlus_第七章 函数 -- C++的编程模块(一)
函数定义及声明 type_name function_name (parament_list) { // 返回值类型 函数名 参数列表 statements; return value; // value的类型为 type_name } #include <iostream> #include <...原创 2018-03-11 11:11:23 · 276 阅读 · 0 评论 -
C++回炉之_C++PrimerPlus_第六章 分支语句和逻辑运算符
if语句 if(test) statement; if(a > b) cout << a << endl; if(test) { statement_1; } else { statement_2; } if(test_1) { statement_1; } else if(test_2) { statement_2; } els...原创 2018-03-08 18:08:25 · 184 阅读 · 2 评论 -
C++回炉之_C++PrimerPlus_第十二章 类和动态内存分配
复制构造函数 如果没有定义复制构造函数 – C++会自动提供 原型 class_name(const class_name&); Point(const Point&); 功能 逐个复制非静态成员的值 – 浅复制 如果含有成员的类型也是类, 则使用此成员的复制构造函数来复制此对象 当类成员里含有指针的时候,那么这两个对象的此成员都会指向同一个内存 – 这很不好 此时会使用...原创 2018-03-31 09:47:00 · 242 阅读 · 0 评论