理解面向连接和无连接协议之间的区别
它们的本质区别在于,对无连接协议来说,每个分组的处理都独立于所有其他分组,而对面向连接的协议来说,协议实现则维护了与后继分组有关的状态信息
提防对等实体的不友好动作
亦如在程序中接受用户的输入前,要对用户的输入进行“安全检测”,以防止恶意输入破坏应用程序的正常运行。可见,防御性编程在编码中是必备的意识,网络编程中也要考虑各种概率看似很小的事件,做出相应的处理动作
CPP 中 cctype 库的常用方法
通常用于处理字符串中字母、数字、特殊字符,还包括大小写转换
模板元编程的意义
模板元编程可以只需要设计一份代码,传入不同的类型并生成实际的代码,完美解决面向过程和面向对象的不足
为什么在你的进程退出时没有内存泄露?
对于短时间运行的程序,泄露内存通常不会导致任何操作问题(尽管它可能被认为是不好的形式)。如果你编写一个长期运行的服务器(例如 Web 服务器或数据库管理系统,它永远不会退出),泄露内存就是很大的问题,最终会导致应用程序在内存不足时崩溃
多线程中的虚假唤醒
避免虚假唤醒,就不应该采用 if 条件判断,而应该采用 while 循环判断
虚析构函数的场景
如果这个类不作为任何类的基类,析构函数是否为虚函数并不重要,因为它不必承担回收派生类资源的责任。那什么情况下给析构函数声明为虚函数是必要的?阅读此文,给你解惑
1121314