cpp 选手秋招学习笔记 day21

一、cpp 八股

1.c 语言和 c++区别

c++提供了管理资源的 raii 方法,自动管理资源的分配和释放,c++提供了类型安全的保证,比如 static_cast 可以在编译期间确保类型转换安全。

c++增加了容器和算法,它们通过迭代器连接起来,算法可以通过迭代器操作不同的容器。

2.c++获得私有成员的方法

最普遍最好的方法就是使用 get 和 set 方法,缺点是增加了函数调用的开销,第二种方法是使用友元,友元函数和友元类比如测试需要了解对象的状态,有必要,第三种方法是使用指针,通过对象布局的了解,比如使用初始位置加偏移然后使用对应的类型解引用。

3.c++的类型转换和 c 的区别

c 的类型转换包括隐式转换和显式转换,显式转换是小括号加转换的类型,没有编译期间的类型检查。c++提供了比如 static_cast 相关类型转换,const__cast 是增加和去除常量属性,dynamiccast 是向下类型转换,最后是 reinterpret_cast。c++方便 debug 也适合编译期间检查。

4.const 和 static 的区别

const 提供了一种生命周期内不能被改变的保证,编译期间会检查是否违背了,如果程序员希望改变该值需要去除 const 属性。static 改变作用域和生命周期,如果是全局变量就变成文件私有,如果是局部变量就初始化一次,如果是类内成员则需要在类外初始化。

二、infra 相关知识了解

今天看的是概述知识:scaling law 是指大模型的能力和模型的参数,计算量以及数据规模有关,其中模型参数和数据规模最好并行去增加,涌现是指随着模型的增大,模型的外推能力,也就是在非训练过程中出现任务上表现的能力变得更好了。

三、算法

1.a*b+a+b

左右加 1 就变成了因式分解,这是一个数学问题

2.买卖股票问题

如果是可以买卖 k 次就增加第三个参数

如果是有冷冻期就把第二个维度变成 0、1、2 三个情况分别代表持有股票,进入冷冻期,可以买且身上没有股票

如果是有交易费在卖出的时候 dp 要减去

总结,算法有时候比较看运气的就是看能不能想到问题等价于什么,我想了很久二分查找。

相关推荐
SWAGGY..4 小时前
【C++进阶】:(10)哈希表的原理与实现——从哈希函数到哈希桶
c++·哈希算法·散列表
码匠许师傅4 小时前
【C++三方组件】redis-plus-plus:现代 Redis C++ 客户端
java·c++·redis
此时不提桶,更待何时5 小时前
06-24-B-RabbitMQ面试与生产事故实战
分布式·面试·rabbitmq
wuminyu5 小时前
stackChunkOop内部结构与GC屏障的配合工作原理剖析
java·linux·c语言·jvm·c++
小π军5 小时前
C 和 C++ 是否都支持函数的重载?
java·c语言·c++
烟花落o5 小时前
C++ 从 C 到进阶 ④:类和对象(下)—— 构造函数进阶、static、友元与内部类
c++·类和对象·初始化列表·匿名对象·内部类·友元函数·static成员函数
stellanke5 小时前
工业化C++:3. 继承、虚函数与运行时多态:从水果加工到日志策略设计
开发语言·c++
垆边人似月.5 小时前
华为题:最多可以参加的会议数目
数据结构·c++·算法
xiangyun615 小时前
C++ list 模拟实现(一):手撕双向链表,从节点到迭代器
数据库·c++·算法·链表·stl·list
别动我齐刘海15 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人