自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 字节LastDay,告别十个月的实习生活,流水账与一些思考

实习总结

2022-07-11 01:56:12 1804 1

原创 CCF CSP 点亮数字人生

原题地址#include<bits/stdc++.h>using namespace std;struct Tool{ string name;//器件名 int onum=0;//入度 vector<int> in;//来自标准输入 vector<int> oin;//来自其他器件输出的输入 vector<int> outdegree;//输出到的器件};int Q,M,N,flag;//flag为0时表示

2021-04-08 20:54:16 131

原创 《Effective C++》读书笔记6.继承与面向对象设计

继承与面向对象设计条款32:确定你的public继承塑模出is-a关系public继承意味is-a。适用于base classes身上的每一件事情一定适用于derived classes身上,以为每一个derived class对象也一定是一个base class对象条款33:避免遮掩继承而来的名称derived class作用域被嵌套进base class作用域内,类似于local和global。derived中的函数会遮掩base中的所有同名函数,即使他们参数不同。解决方案 用using声明

2021-03-22 21:57:25 127

原创 《Effective C++》读书笔记 5.实现

实现条款26:尽可能延后变量定义式的出现时间只要你定义了一个变量而其类型带有一个构造函数或析构函数,那么当程序控制流到达这个变量定义式时,你便得承受构造成本;当这个变量离开其作用域时,你便得承受析构成本。即使这个变量最终并未使用,仍需耗费这些成本,所以你应该尽可能避免这种情形对于循环而言变量的定义方式通常有两种//方法A:定义于循环外Widget w;for(int i=0;i<n;i++){ w=....; ...}//方法B:定义于循环内for(int i=0;i<n

2021-03-04 20:51:51 103

原创 《Effective C++》读书笔记 4.设计与声明

设计与声明条款18:让接口容易被正确使用,不易被误用如果接口要求客户必须记得做某些事情,就是有着”不正确使用“的倾向tr1::shared_ptr提供的构造函数接受2个实参,一个是被管理的指针,一个是引用次数变0时将被调用的“删除器”“将原始指针传递给pInv构造函数”会比“先将pInv初始化为null再对它做一次赋值操作”更好cross-DLL problem:对象在动态链接程序库(DLL)中被new,却在另一个DLL内被delete。许多平台,这一类“跨DLL的new/delete”会导致运行

2021-02-27 17:46:33 135

原创 《Effective C++》读书笔记 3.资源管理

资源管理条款13:以对象管理资源把资源放进对象内,我们便可倚赖C++的析构函数自动调用机制确保资源被释放现考虑有个f函数void f(){ Investment* pInv=createInvestment(); ... delete pInv;}这看起来妥当,但若干情况下f可能无法删除它取得自createInvestment的投资对象-------或许是因为“…”区域内的一个过早的return语句。就算谨慎编写程序防止这类错误也无法保证后来的维护者能做到有效的资源管理。RAII:R

2021-02-07 17:39:50 100 1

原创 《Effective C++》读书笔记 2.构造/析构/赋值运算

构造/析构/赋值运算条款05:了解C++默默编写并调用哪些函数编译器自动生成copy构造函数、copy assignment操作符、default构造函数(没有声明任何构造函数的时候) 这些函数都是public且inline的注意,只有在这些函数被需要(被调用)的时候它们才会被编译器创造出来关于copy构造函数和copy assignment操作符=,只有当生出的代码合法且有适当机会证明它有意义,编译器才会自动生出。比如成员变量里面有引用或者const,无法赋值,编译器没法解决,就不生成条款06:

2021-02-03 21:43:42 119

原创 《Effective C++》读书笔记 1.让自己习惯C++

让自己习惯C++条款01:视C++为一个语言联邦将C++视为四个主要次语言的联邦CObject-Oriented C++Template C++STL不同次语言的高效编程守则要求可能不同条款02:尽量以const,enum,inline替代#definedefine的坏处不利于维护,安全性弱1.用const取代定义常量指针:注意const的放置class专属常量:为确保常量至多只有一份实体,必须让它成为static成员:class GamePlayer{private:

2021-01-31 23:58:36 86

转载 力扣947. 移除最多的同行或同列石头题解

原题优化建图 + 并查集思路及解法我们也可以变换思路,在方法一与方法二中,我们维护的是石子,实际上我们也可以直接维护石子所在的行与列。实际操作时,我们直接将每一个石子的行与列进行合并即可,可以理解为,每一个点不是与其他所有点进行连接,而是连接到自己所在的行与列上,由行与列进行合并。同时,既然我们只关注连通性本身,我们就可以利用并查集维护连通性。在实际代码中,我们以哈希表为底层数据结构实现根结点数组 f,最后哈希表中所有的键均为出现过的行与列,我们计算有多少行与列的父亲恰为自己,即可知道连通块的数量

2021-01-23 15:32:22 179

原创 2020的个人回顾与总结

2020的个人回顾与总结白驹过隙,转眼间来到了2021年,自己也在四个月前到了二十岁,青春的句号也画上了一半。从小对信息比较敏感,我习惯于把信息记在脑海中而不是留下文字。在以前我囿于井底认为记笔记之类的习惯是能力不足的一种表现。把用在这上面的时间拿去多加强几遍记忆才是更好的选择。到了去年我恍然大悟,总结和笔记的意义不在于完成后的反复查阅,而是在过程中你必须有详实缜密的思考才能组织好语言,类似于费曼学习法。这就能倒逼自己找到知识和思维上的漏洞和缺陷。我最终意识到了思考与信息可视化的重要性和我过于放纵知行

2021-01-03 19:10:06 177

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除