Linux高性能服务器编程 读书笔记(1) 第五章 Linux网络编程基础API 字节序什么是大小端字节序?这里以32位机举例, 32位机CPU一次可以装载4字节, 那么这4个字节不同的排序方式就对应了不同的字节序 : 大端字节序 : 顺着排, 0x12345678 将被排序为 12 34 56 78. 小端字节序 : 逆着排, 0x12345678 将被排序为 78 56 34 12. 为什么要分大小端?其实更多 2025-02-10 #高性能服务器编程
瓦尔登湖读书摘录(4) 我们对规律与和谐的了解, 往往局限于那些我们已经掌握的事例; 但许多貌似彼此冲突的因素也能导致和谐的结果, 但许多规律我们固然尚未认识可是确实存在且更加神奇美妙. 其实幸福的人应该永远生活在此刻, 好好利用每件落到我们身上的琐事, 就像青草坦然接受每颗落在它身上的最细小的露珠那样, 别把时间用于挽回从前失去的机会, 并美名其曰承担责任. 若是能在宁静而有益的清晨之气中, 回想每日所做善事, 2025-02-02 #Effective C++ #阅读
Effective C++ 条款53-55 杂项讨论 学到这里, Effective C++至此也算是告一段落了, 还剩下一些杂七杂八的讨论, 我们将在本文逐一列举. 条款53 : 不要忽视编译器的警告 我们应严肃对待编译器发出的警告信息, 努力在你的编译器最高警告级别下争取无警告的荣誉. 同时也不要过度依赖编译器的报警能力, 有些可能导致运行崩溃的错误编译器无法准确检测. 条款54 : 让自己熟悉包括Tr1在内的标准程序库Tr1其实是早期的 2025-01-31 #Effective C++
Effective C++ 条款49-52 内存分配 条款49 : 了解new-handler的行为条款50 : 了解new和delete的合理替换时机条款51 : 编写new和delete时需固守常规条款52 :写了placement new也要写placement delete 条款49-52中详细讲述了定制new和delete的实现, 加上前面所讲述的智能指针及资源管理类, 让我们对内存管理有了比较深刻的认知. 但是这部分有些内容经查证已经相对 2025-01-30 #Effective C++
Effective C++ 条款48 模板元编程(TMP) 条款48 : 认识template元编程 在条款47我们主要了解了萃取器这种模板元编程, 也初步进入了模板元编程的世界. 在本条款中, 我们将继续认识模板元编程, 认识其必要性和应用场景, 相比于条款47讲的还算比较深入,本条款真的就只是简介, 因为其体量确实非常庞大, 甚至可以单独作为一个学科研究. Template metaprogramming, 模板元编程, 简称TMP, 是编写temp 2025-01-22 #Effective C++ #模板
Effective C++ 条款47 萃取器 条款47 : 请使用traits classes表现类型信息 traits classes(萃取器类), 如你所见萃取器其实是一个模板类, 在C++中萃取器是一个神奇且有趣的存在, 它被广泛引用于标准库STL的编写中, 我们将在本条款中了解萃取器的功能及实现, 初步踏入模板元编程的世界. 模板元编程的初步认知很多人在第一次听到”模板元编程”时一定觉得非常高大上, 但是实际上我们可以简单认知其为针 2025-01-16 #Effective C++ #模板 #萃取
Effective C++ 条款46 友元非成员函数 条款46 : 需要类型转换时请为模板定义友元非成员函数 本条款是条款24的延申讨论, 在引入模板的前提下, 如果我们想实现某些隐式类型转换的操作, 会需要比以往多一些额外的操作, 让我们通过本条款来理解. 前提引入还记得条款24中的Rational吗, 这是一个有理数类, 内部包含分子和分母, 可以由int隐式转换而来, 当时条款24中讨论的核心是如何让Rational支持混合运算, 就像下面这 2025-01-14 #Effective C++ #模板
Effective C++ 条款45 运用成员函数模板接受所有兼容类型 条款45 : 运用成员函数模板接受所有兼容类型 本条款中我们将会以智能指针为例, 介绍如何通过成员函数模板使一个模板类可以接受所有兼容类型. 我们先来构建一个简单的继承体系 : 123456class Top { ... };class Middle: public Top { ... };class Bottom: public Middle 2025-01-13 #Effective C++ #模板
Effective C++ 条款44 防止代码膨胀 条款44 : 将与参数无关的代码抽离templates 我们知道代码重复和过度的inline都可能导致代码膨胀, 而在模板中会发生比较隐晦的代码重复, 我们应当尽力去避免代码重复的情况发生, 而最核心的方法就是将与参数无关的代码抽离templates, 让我们通过本条款进行了解. 在本条款中我们将会了解 : 在模板中什么情况下会发生代码膨胀? 如何缓解这种代码膨胀? 在缓解代码膨胀后如何知道 2025-01-12 #Effective C++ #模板
Effective C++ 条款43 模板基类的继承 条款43 : 学习处理模板化基类内的名称 在本条款中我们将探讨继承与模板共同使用时的注意事项, 有些我们通过学习继承得来的直觉在这里可能不再适用, 当我们从Object Oriented C++ 跨进 Template C++, 继承就不像以前那样畅行无阻了. 发现问题我们先引入一个例子, 假设我们要写一个程序, 他能够传送信息到若干不同公司去, 大部分公司传输的信息不需要加密, 少部分公司传输 2025-01-07 #Effective C++ #继承 #模板