摘要:
小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6 * 6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,他需要从左上角开始游戏,每次只能向下或者向右移动一步,到达右下角停止,一路上的格子里的礼物小东都能拿到,请设计一个算法使 阅读全文
摘要:
今天我在阅读《Unix网络编程》时候遇到一个问题:accept返回时的connfd,是父子进程之间共享的?我当时很不理解,难道打开的文件描述符不是应该在父子进程间相互独立的吗?为什么是共享的呢?fork之后父子进程之间共享了什么?堆上的变量是否也共享了呢? 做了如下的代码测试,在fork之前先创建一 阅读全文
摘要:
STL都是在内存的堆区分配的,但是其析构也是STL帮我们做好的,不用手动去delete。 1.vector 逻辑地址连续的一片内存空间,当空间不足,重新申请新的地址空间,将原有的数据复制过去,而新的地址空间的大小C++没有规定,依赖于编译器的实现。在VC++中是原来的1.5倍,而g++中则是原来的2 阅读全文
摘要:
最近在读《Unix网络编程》和《TCP/IP详解》两本书,有了一些自己的心得与体会,总结下其中典型的问题。 1. 为什么建立连接需要三次握手? 谢希仁的《计算机网络》对这个问题有以下分析: 服务端接到客户端的syn之后在发送ack的同时还要顺带一个syn来让客户端再发送一个ack相应这个syn.这主 阅读全文
摘要:
Linux的IO操作中数据的写函数int nwrite = write(int fd,void* buf ,int len)表示向fd文件描述符写入len个字节长度的数据报文,但是这并不能保证真正向内核缓冲区写入了len个数据。比如当内核socket缓冲区不足,小于len个字节,则会只写入其中的一部 阅读全文
摘要:
摒弃C的做法采用C++的实现方式 内存管理 7-10其他问题 构造、赋值、拷贝构造 11.初始化时的=表示拷贝构造,其他时候表示赋值运算符。如果在class中有动态的内存分配,则不能使用默认的拷贝构造和赋值预算法,需要重写。 12.尽量用初始化代替函数类变量赋值:一是效率更高,二是const变量只能 阅读全文