随手记

2017年6月20日

  1. 指针形参
  • 指针形参的行为和其它非引用类型一样→拷贝的是指针的值,拷贝后是两个不同的指针→但是指向相同的值可以通过指针形参修改它所指对象的值
  • C程序中由于没有引用,所以常使用指针类型的形参访问函数外部的对象。
  • C++中,建议使用引用类型的形参代替指针
  1. 指针
  • 指针本身是一个对象(而引用并非对象)
  • 允许对指针赋值和拷贝
  • 指针无须在定义时赋初值
  • 在块作用域定义的指针如果没有被初始化,也将拥有一个不确定的值
  1. free/malloc和new/delete
  1. string搜索操作
  • s.find(args),查找s中args第一次出现的位置
  • s.rfind(args),查找s中args最后一次出现的位置
  1. 修改string的操作
  • s.insert(pos,args)
  • s.erase(pos,len)
  • s.assign(args)
  • s.append(args)
  • s.replace(range,args)


    修改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);
  • Returns the number of elements in the range [first,last) that compare equal to val.
  • The function uses operator== to compare the individual elements to val.
  • 复杂度:Linear in the distance between first and last: Compares once each element.
  • eg
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. 内存对齐
  • 参考链接:http://www.cnblogs.com/jijiji/p/4854581.html
  • 参考链接:http://www.cnblogs.com/zrtqsk/p/4371773.html
  • 规则:第一个数据成员位于偏移为1的位置,以后每个数据成员的偏移量必须是min(#pragma back()指定的数,数据成员自身长度)的倍数;所有数据成员对齐后,要对当前结构体进行对齐,整个结构体长度应该是min(#pragma back()指定的数,最大数据成员长度)的整数倍
  • 内存对齐的作用:平台原因→不是所有的硬件平台都能访问任意地址上的任意数据,某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常;硬件原因内存对齐后,CPU内存访问速度大大提升,这是因为CPU在读取内存时是一块一块进行读取的,块的大小称作memory granularity内存读取粒度内存对齐时,CPU一次就能读取整个数据内存未对齐,变量跨两个内存块,就要先读取两个内存块,然后组合两个内存块中的数据,操作数目大大增加**

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. 数组做形参
  • 一维数组:


    image.png
  • 二维数组:void test(int a)→调用时需要test((int) a),强制类型转换;void test(int a[][10]);void test(int a[10][3]);
    image.png

2017年9月6日

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


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


    image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,651评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,468评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,931评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,218评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,234评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,198评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,084评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,926评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,341评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,563评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,731评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,430评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,036评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,676评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,829评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,743评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,629评论 2 354

推荐阅读更多精彩内容