东阳的学习记录 条款18:让接口容易被正确使用、不易被误用 接口设计要清晰无歧义,能让用户知晓每一个参数的含义以及使用目的、方法“促进正确使用” 的方法包括接口的一致性,以及与内置类型的行为兼容“阻止误用” 的方法有: i 建立新类型、限制类型上的操作 ii 束缚对象值 ii
Tips01:View C++ as a federation of languages 把C++看作语言的联邦。C++包括了C、 Object-Oriented C++(C with class)、 Template C++、 STL。 C++高效守则视情况而变化,取决于你使用C++的哪一部分。 Tips02:尽量以const, enum, inline替换#define #define不被视作源码的一部
Effective Fusion Factor in FPN for Tiny Object Detection-目标检测的FPN有效融合因子 AbstractIntroduction2. Related Work2.1. Dataset for Detection2.2. Small Object Detection2.3. Feature Fusion for Object Detection 3. Effective fusion factor3.1. What affe
正文 面向对象编程总是以显式接口(explicit interfaces)和运行期多态(runtime polymorphism)来解决问题。例如 class Widget{ public: Widget(); virtual ~Widget(); virtual std::size_t size() const; virtual void normalize();
1 创建对象和销毁对象 第1条 用静态工厂方法代替构造器 静态工厂方法与构造器不同的第一大优势在于,他们有名称;第二大优势在于,不在每次调用它们的时候都创建一个新的对象;第三大优势在于,它们可以返回类型的任何子类型的对象;第四大优势在于,所返回的对象的类可以随着每次的调用而发
构建maven项目中出现下面错误,这个是因为在maven配置文件中多了一个标签,如下图所示: [ERROR] Error executing Maven.[ERROR] 1 problem was encountered while building the effective settings
第三章 对于所有对象都通用的方法 第十条:覆盖equals时请遵守通用约定 10.1 什么情况下不用覆盖equals 类的每个实例本质上都是唯一的。关注的实体本体还不是里面的值的类。例如Thread。类没有必要提供“逻辑相等(logical equality)”的测试功能。例如java.util.regex.Pattern可
前言 由于很多人的安利,我发现《Effective Java》这本书可谓是神书,这上面有不少对于传统编码方式的特殊简介以及改进方式。所以本人决定在阅读的过程中,将书中的知识点以及扩展写在这个系列中。帮助想一起学习深入研究Java的小伙伴们来初步了解此书,本系列主要是对知识点的阐述
文章目录 尽可能延后变量定义式的出现时间尽量少做转型动作避免返回handles指向对象内部成分为“异常安全”而努力是值得的透彻了解inlining的里里外外将文件之间的编译依存关系降至最低 尽可能延后变量定义式的出现时间 当定义一个变量而其类型带有一个构造函数或析构函
终结方法是不可预测的,通常很危险,一般情况下是不必要的(Finalizers are unpredictable, often dangerous, and generally unnecessary.)。使用 终结方法会导致行为不稳定,降低性能,以及可移植性问题。当然,终结方法也有可用之处,我们将在本项的最后再做介绍;但是,作为一项规则,我们应该
当你从手工管理内存的语言(比如C或者C++)转换到具有垃圾回收功能的语言的时候,程序猿的工作就会变得更加容易,因为当你用完了对象之后,他们就会被自动回收。当你第一次经历对象回收功能的时候,会觉得这简直有点不可思议。这很容易给你留下这样的印象,认为自己不再需要考虑内存管理的
原文是根据这里看的https://blog.csdn.net/weixin_43859703/article/details/109826671 看完之后很受启发,因为这个这个之前没有用过,附上我自己写的代码,希望对你们有用 <Switch defaultChecked={() => { console.log(item.timing_effective)
1.原因? 只要我们定义了一个变量而且这个类型有一个构造函数或析构函数,那么,我们的程序到达这个变量的定义式时,就不得不承受构造的成本,当我们的变量离开作用域时,就要承担析构的成本。即使这个变量没有被使用。 总结起来一句话——太快定义变量可能造成效率上的拖延。 2.疑问 <1
Effective Java笔记第一章创建和销毁对象 引言 1.java语言支持四种类型:接口(interface),类(class),数组(array)和基本类型(primitive)。 2.接口(interface),类(class),数组(array)被称为引用类型,类实例和数组是对象。 3.类的成员由他的域(field),方法(method),成员类(member c
第四部分: 设计与声明 条款18: 让接口容易被正确使用,不易被误用 请记住: 好的接口很容易被正确使用,不容易被误用。你应该在你的所有接口中努力达成这些性质。 "促进正确使用"的办法包括接口的一致性,以及内置类型的行为兼容 "阻止误用"的办法包括建立新类型、限制类型上的操作,束缚
第二部分: 构造/析构/赋值运算 条款05: 了解C++默默编写并调用哪些函数 对于一个类,如果自己没声明,那么编译器会默认生成一个copy构造函数、一个copy assignment操作符和一个析构函数。此外如果你没有声明任何构造函数,编译器还会声明一个default构造函数。 所有这些函数都是public
More Effective C++笔记 代理类 实现二维数组[][]读取 区分通过operator[]进行的是读操作还是写操作 局限性 总结
More Effective C++笔记 引用计数
前言 此书由Scott Meyers所著,侯捷所译,乃经典中的经典,十分值得多刷。此文旨在记录书籍重点内容,并附上个人调试与理解 原书中含有较多译者未予翻译的英文词条,这里给出大致参照 英文词条 中文翻译 英文词条 中文翻译 const 常量 non-const 非常量 static 静态 non-static 非
Scott Meyers - Effective Modern C++ part 3
author: lunar date: Wed 16 Sep 2020 03:14:38 PM CST 6. 继承和面向对象程序设计 条款32: Make sure public inheritance models "is-a". 如果你令class D以public形式继承class B, 你便是告诉编译器每一个类型为D的对象同时也是一个类型为B的对象. "public继承"意味着is-a, 适
转: https://zhuanlan.zhihu.com/p/37278278 网络编程中的SO_REUSEADDR和SO_REUSEPORT参数详解 SO_REUSEADDR: 目前为止我见到的设置SO_REUSEADDR的使用场景:server端在调用bind函数时 setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR,(const void *)&reuse , sizeof(int)); 目的:当
第四章 设计与声明 条款18:让接口容易被正确使用,不易被误用 请记住 好的接口很容易被正确使用,不容易被误用。你应该在你的所有接口中努力达到这些性质。 "促进正确使用"的办法包括接口的一致性,以及与内置类型的行为兼容。 "阻止误用"的办法包括建立新类型、限制类型上的操作,束缚对
好多要学的,再偷懒就要失业了。2020加油吧。 计算机类 操作系统 CS110 编译原理 CS143 数据库原理 CS145 C++类 刷完CppCon back to basics modern effective c++ effective stl concurrency in action 对象模型 STL剖析 QT TMP 网络类 UNIX Network Programming 其他 LLVM 刷题
1.Deducing Types Item 1: 理解模板的类别推导 template<typename T> void f(ParamType param); f(expr); // deduce T and ParamType from expr Case 1: ParamType是引用或者指针,但不是万能引用 If expr’s type is a reference, ignore the reference part. 忽略reference-ne