2019年12月23日

摘要: shared_ptr shared_ptr实现的是引用计数型的智能指针,可以被自由地拷贝和赋值,在任意的地方共享它,当没有代码使用它时才删除被包装的动态分配的对象。 类摘要: template<class T> class shared_ptr { public: typedef T element 阅读全文
posted @ 2019-12-23 21:42 KLOSEER 阅读(356) 评论(0) 推荐(0) 编辑
 
摘要: optional 在实际开发中,我们经常会遇到无效值的情况,例如函数并不是总能返回有效值,很多函数正确执行了,但结果却不是合理的值,如果用数学语言开解释的话,就是返回值位于函数解空间之外。 求一个数的倒数,在实数域内开平方,在字符串中查找字符串,它们都可能返回“无效值”。有些无效返回的情况可以用抛出 阅读全文
posted @ 2019-12-23 00:08 KLOSEER 阅读(550) 评论(0) 推荐(0) 编辑

2019年12月21日

摘要: tribool boost.tribool类似c++内建的bool类,但基于三态的布尔逻辑,在true和false之外还有一个indeterminate状态。一个例子场景是执行某项任务,在执行之前状态时未知的,启动任务后状态时true,停止任务状态时false. tribool位于名字空间boost 阅读全文
posted @ 2019-12-21 18:01 KLOSEER 阅读(406) 评论(0) 推荐(0) 编辑

2019年12月20日

摘要: singleton即单件模式,实现这种模式的类在程序生命周期里只能有且仅有一个实例。 使用singleton,需要包括头文件: include using boost::serialization::singleton; 类摘要: template class singleton : public 阅读全文
posted @ 2019-12-20 22:10 KLOSEER 阅读(1249) 评论(0) 推荐(0) 编辑

2019年12月19日

摘要: boost::swap是对标准库里的std::swap的增强和泛化,为交换两个变量的值提供便捷的方法。 为了使用需包含头文件: include 原理 c98标准中的std::swap(): template void swap(T& a,T& b) { T tmp(a); a = b; b = te 阅读全文
posted @ 2019-12-19 18:49 KLOSEER 阅读(371) 评论(0) 推荐(0) 编辑

2019年12月17日

摘要: 4.1 noncopyable noncopyable允许程序轻松的实现一个禁止拷贝的类 位于命名空间boost,需要包含头文件或者 include include 原理: 在定义一个类的时候,如果不明确定义拷贝构造函数和拷贝复制函数,编译器会为我们自动生成这两个函数,一般情况这是有用的,比如可以自 阅读全文
posted @ 2019-12-17 22:30 KLOSEER 阅读(496) 评论(0) 推荐(2) 编辑

2019年12月6日

摘要: IPv4是Internet Protocol version 4的缩写,中文翻译为互联网通信协议(TCP/IP协议)第四版,通常简称为网际协议版本4。 IPv4使用32位(4字节)地址,因此地址空间中只有4,294,967,296(2^32) 个地址。 IPv4地址可被写作任何表示一个32位整数值的 阅读全文
posted @ 2019-12-06 10:12 KLOSEER 阅读(373) 评论(0) 推荐(0) 编辑

2019年4月14日

摘要: server.cpp include include include int main() { WORD ver = MAKEWORD(2,2); WSDATA dat; WSAStartup(ver. &dat); SOCKET _sock = socket (AF_INET.SOCK_STREA 阅读全文
posted @ 2019-04-14 15:16 KLOSEER 阅读(769) 评论(0) 推荐(0) 编辑