随手记

2017-06-20  本文已影响0人  菜鸡也会飞

2017年6月20日

  1. 指针形参
  1. 指针
  1. free/malloc和new/delete
  1. string搜索操作
  1. 修改string的操作

2017年6月21日

  1. 递归和迭代
    • 迭代使用的是循环结构,递归使用的是选择结构

2017年6月22日

  1. 类内数组的初始化
    当类的数据成员为数组时,可以在初始化列表中初始化,也可以在构造函数函数体中用循环初始化。


    类内数组初始化.png
  2. 只能对空指针或者是new分配的指针使用delete,否则是未定义的行为。

2017年6月26日

  1. pdf书签默认是折叠或者展开
    http://www.newasp.net/tech/66745.html
  2. 顺序容器的定义和初始化


    cpp primer p299
  3. 值初始化/默认初始化/

2017年7月1日

  1. 容器的定义和初始化
    对于C c1(c2)这种初始化方式,除array外,c1 c2的大小可以不同。元素个数不是vector等容器类型的一部分。
    但对于数组和array来说,元素个数就是类型的一部分。


2017年7月3日

  1. 泛型算法--reverse
void reverse (BidirectionalIterator first, BidirectionalIterator last);

复杂度:Linear in half the distance between first and last: Swaps elements.

  1. 泛型算法-sort
  2. 泛型算法-count
template <class InputIterator, class T>
typename iterator_traits<InputIterator>::difference_type count (InputIterator first, InputIterator last, const T& val);
int a = count(str.begin(),str.end(),'a');

2017年7月5日

  1. 转义字符
    总结:http://www.cnblogs.com/emanlee/archive/2010/05/14/1735274.html
    \ddd 三位八进制 eg. \101 八进制数101,等于十进制数的65,而65是A的ASCII码,所以如果按字符打印,会打印对应的字符,也就是打印字符A
    \xhh 二位16进制
  2. 算术表达式内数据类型不同
    5/6.0为实型,5 为int,6.0为float类型(或double),表达式自动把5转化为较大的 float类型(或double) 运算,结果为 float类型(或double)
  3. 运算符
    取地址运算符 & 解引用运算符*


    image.png
    image.png
  4. 对数组取地址


    输出为2,5
    image.png
  5. 虚函数、纯虚函数
  6. 对常量的引用

2017年7月8日

  1. 32位机器上,一个指针占用4字节;64位机器上,一个指针占用8字节
  2. const成员函数

2017年7月11日

  1. 静态成员和静态成员函数的总结
    https://www.nowcoder.com/test/question/done?tid=9092861&qid=56200#summary
    image.png
  2. ??
int main(int argc ,char** argv)

2017年7月12日

  1. 顺序容器中迭代器失效的情况
    http://www.jianshu.com/p/6b2575ab1b8c
  2. 如下程序,输出A,但是会出现异常。A中f没有声明为虚函数,所以不会被覆盖。另外最后的delete a有问题,因为new构造的是一个B类型的对象,delete a仅删除了属于A的部分。


    image.png

2017年7月13日

  1. 函数重载
    函数重载指的是在同一作用域中,可以有一组具有相同函数名,不同参数列表的函数。→减少了函数名字的数目,避免命名空间污染。
    image.png
  2. 统计二进制中1的个数→x|(x+1),统计0的个数
    image.png
  3. 在堆上创建动态数组sizeof(数组名)→数组容量指向常量的指针,或者常量指针sizeof(指针)=4,计算的是指针的容量
    image.png
  4. 不同内置算数类型在内存中所占的比特数


    image.png
  5. c++→非虚函数静态绑定,虚函数动态绑定
    java/python迟绑定,统一运行时绑定


    image.png
  6. putchar()→Writes a character to the standard output
  7. 字符串'Beijing'存储在计算机中,需要7+1共8个字节,最后一个字节为'\0'
  8. C++中函数名实际上是一个指针,指向函数的入口
  9. main()中 的a,b为局部变量,覆盖了全局的a,b,而fun()中的为全局的a,b,对main()中局部的a,b没有影响


    image.png
  10. ^是按位异或!幂函数可以使用math.h里面的pow(x,y)
  11. 大数问题???
  12. 内存对齐

2017年7月14日

  1. 判断质数
    http://www.cnblogs.com/xiehongfeng100/p/4332998.html
  2. 质因数分解
    http://blog.csdn.net/u014361775/article/details/47722337
  3. str被free后,其所指的内存空间被释放(在堆空间中被标记为可回收??),但是其指向的地址没有变化,成为一个野指针。此时str不是空指针,strcp(str,"world"),会将该内存覆盖为‘world’。但是理论上被释放的内存不能访问。所以printf(str)有错
    image.png
  4. 组合
    组合:一个类里面的数据成员是另一个类的对象难点在于构造函数的设计,创建对象时既要对基本类型成员进行初始化,也要对内嵌对象进行初始化
    image.png
  5. 常量


    image.png
    image.png
  6. 字符会转换成ASCII码,0.5默认类型为double既不能转换为float也不能转换为int,应该写成0.5f


    image.png

2017年7月15日

  1. 二叉树的遍历

2017年8月5日

  1. c++输出一位有效数字
#include<iomanip>
cout << fixed << setprecision(1) << (double)sum / countZ<< endl;

2017年8月13日

image.png
  1. IP地址,DNS地址和子网掩码
    http://jingyan.baidu.com/article/f0e83a25afb6b722e59101e8.html

2017年8月21日

  1. CSMA/CD
    多点接入、载波监听、冲突检测


    image.png
    image.png
  2. MAC帧
    MAC帧是数据帧的一种,而数据帧,就是数据链路层的协议数据单元。它包括三部分:帧头,数据部分,帧尾。其中,帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等;数据部分则包含网络层传下来的数据,比如ip数据包。
image.png

2017年8月26日

  1. 数组做形参

2017年9月6日

  1. c++中的类和c中的struct的区别


    image.png
  2. 全局变量和局部变量的区别


    image.png
上一篇 下一篇

猜你喜欢

热点阅读