- 博客(130)
- 问答 (17)
- 收藏
- 关注
原创 RAII的理解
举例来说,为什么要用make_unique()而不是unique(new T*)来构造智能指针实例,就是因为资源的获取与对象的初始化在这里不是“原子”的:先通过new获得资源指针,再将其用来初始化对象。RAII:资源获取即初始化。意思是通过构造函数得到实例时,该实例就已经有了对资源的管理。
2024-08-28 09:57:29 141
原创 算法设计与分析(1):导论和线性时间选择
本系列的目的是简要概述算法主题及其涉及的思维类型:为什么我们专注于我们所做的主题,以及为什么我们强调证明保证。我们会通过一个很容易涉及到的问题示例,即查找n个元素集合的中位数。对于这个问题,有一个简单的Onlogn时间算法,但我们可以使用随机化和巧妙的确定性构造做得更好。这些说明了我们将在本系列中使用(和构建)的一些想法和工具。我们还将练习编写和解决递归关系,这是算法分析的关键工具。
2024-01-09 11:38:46 994
原创 openGauss使用笔记
pg_table_size等于pg_relation_size加上其它文件大小,例如fsm文件和可见性映射文件。查看表的物理路径:pg_relation_filepath(oid/table_name)查看关系占用的磁盘大小:pg_relation_size(oid/table_name)
2023-09-09 16:19:50 384
原创 C++ I/O
所有语言都提供某种 I/O 机制,或者作为语言的内置部分,或者通过特定于操作系统的 API。灵活的I/O系统支持通过各种设备(例如文件和用户控制台)进行输入和输出。此外,它们不够灵活,无法处理自定义数据类型,它们不是类型安全的,并且在像 C++ 这样的面向对象语言中,它们根本不是面向对象的。的机制提供了一种更精细的输入和输出方法。的格式说明符和占位符,可以将它们自定义为读取特殊格式的数据或输出格式化代码允许的任何值。该库允许你使用路径、目录和文件,并且它很好地补充了流为 I/O 提供的机制。
2023-07-02 17:40:04 300
原创 C++泛型编程
当编译器遇到模板的实例化时,例如 Grid,它会通过将类模板定义中的每个 T 替换为 int 来为 Grid 模板的 int 版本编写代码。当编译器遇到模板的不同实例化时,例如 Grid,它会为 SpreadsheetCells 编写另一个版本的 Grid 类。如果语言中没有模板支持并且必须为每种元素类型编写单独的类,编译器只会编写你将要编写的代码。这里没有魔法;模板只会自动执行一个烦人的过程。如果不为程序中的任何类型实例化类模板,则永远不会编译类方法定义。
2023-06-08 01:00:14 624
原创 C++类与对象之移动语义
对象的移动语义需要移动构造函数和移动赋值运算符。当源对象是将在操作完成后销毁的临时对象时,编译器可以使用它们,或者正如你将看到的,在使用 std::move() 时显式使用。移动将内存和其他资源的所有权从一个对象移动到另一个对象。它基本上对数据成员进行浅复制,并切换已分配内存和其他资源的所有权,以防止悬空指针或资源并防止内存泄漏。移动构造函数和移动赋值运算符都将数据成员从源对象移动到新对象,使源对象处于某种有效但不确定的状态。通常,源对象的数据成员被重置为空值,但这不是必需的。
2023-05-11 11:25:49 512
原创 C++的CRTP
在上面的示例中,尽管函数 Base::interface() 在编译器已知结构 Derived 存在之前声明(即,在声明 Derived 之前),但实际上并没有被编译器实例化,直到它实际上由 Derived 声明之后出现的一些后续代码调用(上例中未显示),因此在实例化函数“implementation”时,Derived::implementation() 的声明是已知的。如果派生类调用一个继承函数,然后调用另一个成员函数,那么该函数将永远不会调用派生类中的任何派生或重写成员函数。
2023-05-09 10:17:03 130
翻译 如何阅读工程研究论文
论文的主体部分详细说明作者对问题的解决方案,还应该从论证或实验的角度描述对解决方案的详细评估。此外,写论文的原因可能与论文被分配的原因不同,这意味着你必须更加努力地寻找你感兴趣的内容。最后,你的时间非常有限,所以你可能没有时间阅读论文的每一个字,或者读几遍以提取所有的细微差别。如果你发现填写这个表格对你不起作用,你可以试着写一个250字的论文摘要–不是重写论文前面的摘要,而是你的摘要,从你的角度捕捉到上述五个问题。一篇注释良好的论文是物有所值的,因为它不仅包含了论文的内容,还包含了你对其价值的评估。
2023-04-16 11:02:17 93
原创 《data compression》笔记
第三章信息熵仅仅从整个数据集符号的静态频率统计上考虑,把符号看作是孤立的个体,而忽视了符号之间的顺序(普遍联系),这使得将数据压缩到超越信息熵的限制成为可能。(马哲yyds)
2022-05-20 00:00:46 122
空空如也
Java后端如何返回指定类型的Json
2021-05-03
web项目的out文件夹不会自动更新
2020-08-21
如何正确理解CTE中的递归
2020-08-07
Navicat中主键递增后不能给null
2020-07-30
关于lambda表达式中出现的变量
2020-07-27
colab上关于数据集解压的问题
2020-05-13
关于使用tensorflow加载图片获取图片维度的问题
2020-05-08
关于张量的名称冒号后的数字的问题
2020-05-03
关于global_step增加的问题
2020-04-30
Jupyter的代码自动补全
2020-04-28
python如何把一个列表的一部分作为实参传递(非副本)
2020-04-11
带有可变参数的方法的重载问题
2020-03-13
关于javassist的一些API参数的疑问
2020-02-20
浏览器访问本地手写httpserver没有响应
2020-02-15
volatile真的能避免DCL单例模式中的指令重排吗
2020-02-10
关于线程终止后还执行的问题
2020-02-07
关于System.out.write(int b)
2020-02-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人