摘要:
一、缘起C++ 语言没有自动内存回收机制,每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete;异常导致程序过早退出,没有执行 delete 的情况并不罕见。用智能指针便可以有效缓解这类问题,本文主要讲解参见的智能指针的用法。包括:std:... 阅读全文
摘要:
1. 智能指针(Smart Pointer)i.是存储指向动态分配(堆)对象指针的类ii.在面对异常的时候格外有用,因为他们能够确保正确的销毁动态分配的对象iii.RAII类模拟智能指针,见备注2. C++11提供了以下几种智能指针,位于头文件,它们都是模板类i.std::auto_ptr(复制/赋... 阅读全文
摘要:
方法一: 打开Sublime Text 3,依次点击Preference, Browse Packages,在打开的窗口中双击User文件夹,新建文件JavaC.sublime-build,用记事本打开,粘贴下面的代码并保存关闭: { "cmd": ["javac","-encoding","UTF 阅读全文
摘要:
C语言 realloc malloc calloc 阅读全文
摘要:
int *a; int* a;意思相同且后者看上去更为清楚:a被声明为类型为 int* 的指针. 但是,这并不是一个好技巧,原因如下:int* b, c, d;人们很自然地以为这条语句把所有三个变量声明为指向整形的指针, 但事实上并非如此. 星号实际上是表达式 *b 的一部分, 只对这个标识符有用.... 阅读全文
摘要:
在用户家目录(/home/用户名)下面有一个.vimrc/etc下面也有一个vimrc一般只改用户家目录下面的 .vimrc 此配置文件只针对用户有效更改后需使用su - 用户名 来使配置生效(例如 su - zhang3).vimrc为隐藏文件 使用ls -al可查看setnu 显示行号seten... 阅读全文
摘要:
写在前面Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE. 但是对我等从Windows平台转移过来的Coder来说, 一个好用的IDE是何等的重要啊, 估计很多人就是卡在这个门槛上了, "工欲善其事, 必先利其器"嘛, 我想如果有一个很... 阅读全文
摘要:
UNICODE:它是用两个字节表示一个字符的方法。比如字符'A'在ASCII下面是一个字符,可'A'在UNICODE下面是两个字符,高字符用0填充,而且汉字'程'在ASCII下面是两个字节,而在UNICODE下仍旧是两个字节 。UNICODE的用处就是定长表示世界文字,据统计,用两个字节可以编码现存... 阅读全文
摘要:
TCP和UDP的区别(转)TCP协议与UDP协议的区别 首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! TCP/IP协议是一个协议簇。里面包括很多协议的。UDP只是其中的一个。之所... 阅读全文
摘要:
异常处理的基本思想是简化程序的错误代码,为程序键壮性提供一个标准检测机制。也许我们已经使用过异常,但是你会是一种习惯吗,不要老是想着当我打开一个文件的时候才用异常判断一下,我知道对你来说你喜欢用return value或者是print error message来做,你想过这样做会导致Memory ... 阅读全文
摘要:
sizeof与strlen的区别基础知识:(1)sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此si... 阅读全文
摘要:
关于shared_from_this 查找的资料:1. TcpConnection用到了enable_shared_from_this这个基类,这个基类提供了一个shared_from_this()公用方法可以让子类内部获取到shared_ptr的对象,用来用在类实现过程中需要传递自身指针的地方。有... 阅读全文