- 博客(55)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 道
内外兼修《操作系统概念》 俞甲子《程序员的自我修养——链接、装载与库》:这个真是C++/C程序员必看。讲dll、lib、堆、栈的原理,linux和windows对比分析《软件调试》张根奎BS的《The c++ programming Language》(中高级)《人月神话》《设计模式 可面向对象软件基础》(GOF)《深入探索C++对象模型》
2014-10-15 20:51:37
428
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 道
C++: Prata《C++ Primer Plus》:基础,第一本书。(之前的版本也可,不过推荐最新的) Lippman《Inside C++ Object Model》:初级,加深语言层次上的理解。不过有点小老了。里面的cfront编译器早退出江湖好久了。思想值得学习 侯捷《STL源码剖析》:第三本书,中级,深入STL V
2014-10-14 23:08:53
645
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 socket阻塞与非阻塞,同步与异步、I/O模型
http://blog.csdn.net/hguisu/article/details/74533901. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步: 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件
2014-09-16 21:22:40
502
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 编程中常用到的输入模块
struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {}};
2014-09-11 14:08:00
398
原创 C++迭代器失效问题
map/set等关联容器如何删除元素__vector/list/deque等序列容器如何删除元素__迭代器如何使用 序列性容器::(vector和list和deque) erase迭代器不仅使所指向被删元素的迭代器失效,而且使被删元素之后的所有迭代器失效,所以不能使用erase(iter++)的方式,但是erase的返回值为下一个有效的迭代器。
2014-12-17 14:09:17
364
原创 C++编程规范注意
1. 使用前缀成员m_全局g_虚函数V接口类I2. 首字母大写变量与参数:returnValue, m_BufferLength,类、函数、类型定义: MyClass宏:全部大写 MAX_PATH3. 正确使用constconst的合适使用会给其它程序员带来非常多的有用信息4. 如果用户不只是说英语,则最好使用TCHAR宽字符
2014-11-26 15:07:17
464
原创 学习相关与设计模式笔记网址
经典论文 以下20篇论文为IT领域的经典论文,前10篇为架构师必读经典论文,后10篇为程序员必读的经典论文。个人觉得都应该读一读,毕竟都是经典之作。10.1 架构师《On_the_Criteria_to_be_Used_in_Decomposing_Systems_into_Modules》《A Note On Distributed Compu
2014-10-14 14:26:31
409
原创 C++文件操作
二进制文件(Binary files)在二进制文件中,使用>,以及函数(如getline)来操作符输入和输出数据,没有什么实际意义,虽然它们是符合语法的。文件流包括两个为顺序读写数据特殊设计的成员函数:write 和 read。第一个函数 (write) 是ostream 的一个成员函数,都是被ofstream所继承。而read 是istream 的一个成员函数,被ifstream
2014-10-05 22:32:31
341
原创 c++ 类继承中的隐藏、覆盖、重载与using使用
class base{private: int x;public: virtual void f1() = 0; virtual void f2() { cout<<"vf2"<<endl; } void f2(int x){ cout<<"xf2"<<endl; }; void f3() { cout<<"f3"<<endl; } void f3(in
2014-09-20 12:13:57
771
原创 Effective c++ 18~ 25 设计与声明
18、让接口不易被误用如设计了一个Data的初始化接口:Data(int Mouth, int Day, int Year);这时可以会出现:Data(30, 12, 2015);的错误;因此可以导入新类型来预防:struct Mouth{ explicit Mouth(int M):mouth(M){}; int mouth;}这里接口可以成为:Data(co
2014-09-19 19:25:43
314
原创 Effective 1~3 const #define 初始化
一、const, enum, inline替代#define1、 const 与 #define
2014-09-18 21:24:48
321
原创 Effective C++ 论基础
大学所学的离散数学,算法与数据结构,操作系统,计算机体系结构,编译原理等课程学好,对计算机的体系,CPU本身,操作系统内核,系统平台,面向对象编程,程序的性能等要有深层次的掌握。
2014-09-17 20:08:14
394
原创 异步SOCKET与同步SOCKET
Windows套接字在两种模式下执行I/O操作,阻塞和非阻塞。在阻塞模式下,在I/O操作完成前,执行操作的Winsock函数会一直等待下去,不会立即返回程序(将控制权交还给程序)。而在非阻塞模式下,Winsock函数无论如何都会立即返回。
2014-09-16 14:42:43
4914
原创 Lette Code Two Sum
class Solution{public: vector twoSum(vector &numbers, int target) { int len = numbers.size(); vectormidArry(numbers.begin(),numbers.end()); sort(midArry.begin(),midArry.end()); for (int i
2014-09-02 13:26:22
447
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人