摘要: 前面我们写过类似的Stack:template >class Stack{public: void push(const T &); void pop(); T top() const; bool empty() const;private: Al... 阅读全文
posted @ 2014-10-06 22:12 (@_@)ゞ 阅读(272) 评论(0) 推荐(0)
摘要: 在某些类中,它是不可复制或赋值的,这样我们就要禁用它的值语义,我们可以封装一个禁用值语义的类,这样其它禁用值语义的类可以继承该几类。NonCopyable类的封装代码如下: 1 #ifndef NONCOPYABLE_H 2 #define NONCOPYABLE_H 3 4 class NonC... 阅读全文
posted @ 2014-10-06 21:00 (@_@)ゞ 阅读(119) 评论(0) 推荐(0)
摘要: 声明代码如下: 1 #ifndef THREAD_H 2 #define THREAD_H 3 4 #include "NonCopyable.h" 5 #include 6 #include 7 8 class Thread : NonCopyable 9 {10 public:11 ... 阅读全文
posted @ 2014-10-06 20:57 (@_@)ゞ 阅读(340) 评论(0) 推荐(0)
摘要: 声明代码如下: 1 #ifndef CONDITION_H 2 #define CONDITION_H 3 4 #include 5 #include "NonCopyable.h" 6 7 class MutexLock; 8 9 10 class Condition : NonCopya... 阅读全文
posted @ 2014-10-06 18:54 (@_@)ゞ 阅读(263) 评论(0) 推荐(0)
摘要: 由于pthread系列的函数都是成功时返回0,我们需要一段判断处理错误的代码:#define TINY_CHECK(exp)\ if(!exp)\ { \ fprintf(stderr, "File : %s, Line : %d Exp : ... 阅读全文
posted @ 2014-10-06 18:46 (@_@)ゞ 阅读(883) 评论(0) 推荐(0)