摘要: 一、函数重载 二、函数模板 三、总结 阅读全文
posted @ 2019-03-02 20:53 Derek丶D 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 内联函数: 工作原理: 将一些短小的函数, 声明为inline类型, 编译器在编译时,会直接替换函数调用处的代码 为什么会有内联函数: 在程序运行时, 如果调用了函数, 会经历以下步骤: 1. 拷贝参数,内存中跳转到当前函数的机器码内,复制参数, 运行代码 2. 将函数的返回值放在CPU寄存器或某个 阅读全文
posted @ 2019-03-02 20:50 Derek丶D 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 对于以下三个函数 const double *f1(const double ar[],int n) const double *f2(const double [],int n) const double *f3(const double* ,int n) 第一个参数虽然是三种形式, 但是表达的都 阅读全文
posted @ 2019-02-28 16:02 Derek丶D 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 前言: 函数也有地址, 函数的地址时存储其机器语言代码(即二进制的字节码)的内存的开始地址.通常, 这鞋地址对用户而言, 既不重要, 也没有什么用, 但是对程序却很有用 当知道地址之后, 就可以声明指针, 指针就可以指向函数的地址, 有了地址和指针, 就可以将函数的指针传作为参数传递给另一个函数. 阅读全文
posted @ 2019-02-27 21:31 Derek丶D 阅读(604) 评论(0) 推荐(0) 编辑
摘要: int data[3][4]= {{1,2,3,4},{1,2,3,4},{1,2,3,4}}; 定义了一个三行四列的数组 这个二维数组可以解释为: 有3个指向数组的指针, 每个指针指向一个 数组, 每个数组包含 4 个int 元素. 假如此时有一个sum 函数, 作用是计算这个二维数组的和 那么调 阅读全文
posted @ 2019-02-27 19:39 Derek丶D 阅读(2015) 评论(0) 推荐(0) 编辑
摘要: 函数是如何返回返回值的: 函数通过将返回值复制到制定的CPU寄存器活内存单元中来将其返回 随后, 调用程序将查看内存单元.获取返回值 阅读全文
posted @ 2019-02-26 21:34 Derek丶D 阅读(104) 评论(0) 推荐(0) 编辑
摘要: vector: vector<int> vi; array: array<int,5> arr; 比较vector 和array 都可以直接使用下标法访问元素 有种写法为 arr[-2]=1; 这种写法的意思为, 找到起始位置, 并向左移2个单位, 赋值为1; 但这种写法是不安全的,因为左边的内存使 阅读全文
posted @ 2019-02-26 21:05 Derek丶D 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 使用new来分配内存: int *pn= new int; int higgens; int *pt=&higgens delete 释放内存: 使用delete时, 要在后面加上指向内存块的指针 如 delete pt 注意: delete 只能释放使用new 关键字创造出来的指针 int *pt 阅读全文
posted @ 2019-02-26 20:07 Derek丶D 阅读(3786) 评论(0) 推荐(0) 编辑
摘要: 数组: C++ 11的初始化方式: 列表初始化: 可以省去等号 如: double earnings[4] {1.23, 123, 1.654e2} 其次, 可不在大括号内包含任何东西, 这将把所有元素清零: unsigned int counts[200]={} 第三, 列表初始化禁止缩窄转换: 阅读全文
posted @ 2019-02-26 13:31 Derek丶D 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 位: 可以视作电子开关, 二进制, 关为0, 开为1 字节: 一个字节代表八位, 八位内存块可以有256种不同的组合. 可以是0-256, 或者-128 - 127 C++11 初始化方式: 用大括号初始化. int a = {24} 浮点数: 主要记录E表示法的原理: 3.45E6的意思是: 3. 阅读全文
posted @ 2019-02-26 11:22 Derek丶D 阅读(103) 评论(0) 推荐(0) 编辑