- 博客(102)
- 资源 (2)
- 收藏
- 关注
原创 item22: 当使用Pimpl惯用法,请在实现文件中定义特殊成员函数
【代码】item22: 当使用Pimpl惯用法,请在实现文件中定义特殊成员函数。
2024-11-21 16:43:56
114
原创 item21: 优先使用std::make_unique和std::make_shared,而非直接使用new
【代码】item21: 优先使用std::make_unique和std::make_shared,而非直接使用new。
2024-11-20 14:11:33
116
原创 item13:优先考虑const_iterator 而非iterator
【代码】item13:优先考虑const_iterator 而非iterator。
2024-10-30 15:47:43
110
原创 item11: 优先考虑使用deleted函数而非使用未定义的私有声明
【代码】item11: 优先考虑使用deleted函数而非使用未定义的私有声明。
2024-10-29 15:09:37
109
原创 功率与能耗
定义功率:单位时间内的能耗。能耗:执行某一特定任务所需要的能耗。能耗 = 执行特定任务功率 * 执行特定任务的时间。处理器的对比往往以能耗作为对比指标。对于单CMOS管,能耗即一次逻辑转变脉冲0-1-0或1-0-1的能耗,正比于 容性负载 * 电压的平方。一次转换0-1的能耗即 1/2 x 容性负载 x 电压的平方。每个晶体管所需要的功率就是一次转换的能耗与转换频率的乘积,即1/2 x 容性负载 x 电压平法 x 开关频率...
2022-02-04 14:30:01
4135
原创 指令集体系结构
寄存器体系结构指令集体系结构(ISA)几乎都划分到通用寄存器体系结构中,主要包括寄存器-存储器ISA,在指令中访问存储器载入-存储ISA,通过载入或者存储指令来访问寄存器存储器寻址在操作数对齐的情况下访问速度更快。寻址模式无寄存器,通过绝对地址寻址两个寄存器,通过基地址+偏移地址寻址两个寄存器,通过一个寄存器的内容 * 操作数字节大小 + 偏移地址寻址操作数大小8位(ASCII字符),16位(Unicode字符或半字),32位(整数或字),64位(双字或长整型)操作指令常见的
2022-02-03 16:42:43
2459
原创 计算机绪论
# 引言体系结构(如RSIC 精简指令集计算机)与组织方式(如指令级并行)一起促进了计算机性能的高速发展。为了替代以性能为目的的C语言和C++语言,首先出现了java,C#等托管编程语言,之后出现了python,ruby等脚本语言。为了保持生产效率并缩小性能差距,采用即时编译器(just-in-time)和跟踪编译器(trace-based compiling)的解释器正在慢慢取代过去传统的编译器和链接器。芯片最大功耗和无法有效开发更多指令级并行的瓶颈导致单处理器...
2022-02-02 15:15:51
1061
转载 NLP学习资料汇总
NLP入门:莫烦PythonTransformer:【译】图解Transformer - d0main - 博客园Bert:图解BERT(NLP中的迁移学习) - d0main - 博客园双向Transformer:【译】深度双向Transformer预训练【BERT第一作者分享】 - d0main - 博客园bert三个嵌入层:【译】为什么BERT有3个嵌入层,它们都是如何实现的 - d0main - 博客园Transfomer加入位置信息:【译】在Transformer中加入相...
2021-09-29 11:04:08
208
原创 随笔 dijkstra算法
#include<iostream>#include<vector>using namespace std;vector<int> dijkstra(vector<vector<int>> edge){ int n = edge.size(); vector<int> dist(n, 0);//0到每个顶点的距离 vector<int> flag(n, 0);//状态标记:改点是否已经被探索过 flag[0
2020-10-15 10:26:54
133
原创 C++常见面试题整理
1 最大最小堆设计一个算法,找出数组中最小的k个数。以任意顺序返回这k个数均可class Solution {public: vector<int> smallestK(vector<int>& arr, int k) { priority_queue<int, vector<int>, less<int>> maxHeap; vector<int> out;
2020-08-24 19:59:21
367
转载 C++ vector和map的嵌套使用
注意:插入之前先find一下,如果迭代器指向end(),则之前没有相应的key,先加入key,否则直接在相应的key下操作【map】。另外:Multimap允许重复元素,map不允许重复。因此Multimap不能按key访问,find函数将返回第一个找的key所在迭代器。 它们可以根据 key 的排序准则自动将元素排序,集合中的元素按一定的顺序排列。元素插入过程是按排序 规则插入,所以不能指定插入位置。std::map<std::string, std::vector<std::.
2020-08-21 09:38:55
6934
原创 华为提前批面经
笔试:AC>=1就可以一面:主要问和项目相关的知识,手撕代码easy难度,数组去重和排序。二面:还是先问一些项目的知识,然后问我对抗学习,强化学习,深度学习,我当时懵了,因为我一开始投的算法后来改投C++开发的,主要就是问它们的实现原理和相互之间的区别,问我机器学习这一块厉不厉害这些,我只能说我学过,emmmmm。不过还好都懂些,都能回答出来一些。然后问我Tensorflow一些细节,并不能全答出来。之后再问我C++,问lambda和STL,这些也算基础知识,都能回答出来,讲道理面
2020-08-20 09:52:32
2311
转载 C++中public、protected、private的区别
第一: private,public,protected的访问范围:private: 只能由该类中的函数、其友元函数访问,不能被任何其他访问,该类的对象也不能访问.protected: 可以被该类中的函数、子类的函数、以及其友元函数访问,但不能被该类的对象访问public: 可以被该类中的函数、子类的函数、其友元函数访问,也可以由该类的对象访问注:友元函数包括两种:设为友元的全局函数,设为友元类中的成员函数第二:类的继承后方法属性变化:使用private继承,父类的所有方法在子类中变为priva
2020-08-15 19:14:53
3829
原创 char,int,string之间的相互转换
string转int:stoi()函数int转stringto_string()函数char转int-‘0’int转char+‘0’#include<iostream>#include<string>using namesapce std;int main() { /* ->string to int<- */ string s = "1234"; int n = stoi(s); cout << n <<.
2020-08-03 17:08:12
168
转载 python中列表,字典前加*的作用
列表前面加星号作用是将列表解开成两个独立的参数,传入函数,字典前面加两个星号,是将字典解开成独立的元素作为形参。【*类似C++的解析,字典名类似指针】def add(a, b): return a + bdata = [4, 3]print(add(*data))# equals to print add(4, 3)data = {'a': 4, 'b': 3}print(add(*data))# equals to print add('a', 'b')print(add(
2020-08-02 11:16:50
1199
转载 Python 实例方法、类方法、静态方法的区别与作用
文章转载自:https://www.cnblogs.com/wcwnina/p/8644892.htmlPython中至少有三种比较常见的方法类型,即实例方法,类方法、静态方法。它们是如何定义的呢?如何调用的呢?它们又有何区别和作用呢?且看下文。首先,这三种方法都定义在类中。下面我先简单说一下怎么定义和调用的。(PS:实例对象的权限最大。)实例方法 定义:第一个参数必须是实例对象,该参数名一般约定为“self”,通过它来传递实例的属性和方法(也可以传类的属性和方法); 调用:...
2020-07-23 09:09:51
168
原创 关于内存泄露的理解【new&&delete】
解答:class Solution {public: TreeNode* sortedArrayToBST(vector<int>& nums) { return helper(nums, 0, nums.size() - 1); } TreeNode* helper(vector<int>& nums, int left, int right) { if (left > right) {...
2020-07-03 20:11:31
284
原创 C++ vector用法解析 也可类推STL,string.
C++ vector用法解析 也可类推STL,string。好像大部分函数都是通用的,还没发现不合适的,如有错误,望指出。一维初始化:vector<type> vec = {}; vector<type> vec2(vec);二维初始化:vector<vector<type>> vvec = {{}};vector<vector<type>> vvec2(vvec);一、容器特性1.顺序序列顺序容器中的元素按..
2020-07-02 14:47:31
200
转载 c++ 关于如何获得char,int,float型的最大最小值
int型的最大值是0x7fffffff,可以算一下 0x7FFFFFFF 是多少每个十六进制数4bit,因此8位16进制是4个字节,刚好是一个int整型(好像一个字节是8 bit)F的二进制码为 11117的二进制码为 0111这样一来,整个整数 0x7FFFFFFF 的二进制表示就是除了首位是 0,其余都是1就是说,这是最大的整型数 int(因为第一位是符号位,0 表示他是正数)用 INT_MAX 常量可以替代这个值。所以目测0x好像是表示这是一个十六进制数。相应的最小值可以表
2020-07-02 09:10:01
1550
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人