12 2023 档案
摘要:这一年 博主是个在校大三的程序员,所在专业是数据科学与大数据技术,不过我自己选择的技术栈则是C++那块的。回想起大二时懵懵懂懂转过来大数据专业,当时什么也不懂,编程的世界对我来说也似乎遥不可及,当时我总是在想,为什么别人能想到这么写?我真的适合这个专业吗?面对种种困惑,我大二花了很长时间去探寻最优解
阅读全文
摘要:C++作为一门静态类型语言,是需要程序员声明变量类型的。然而来到了C++11,auto的诞生使得变量声明变得及为方便,尤其是对于比较长的模板类型,auto一定程度上为代码编写者减轻了负担。到了C++23,突然来了个新特性:auto{x}/auto(x),这又是个什么东西,它的motivation又是
阅读全文
摘要:学算法阶段时不时会遇到一些递归的应用场景,例如DFS,二叉树等相关的题目,递归常常能大展身手。不过有意思的一件事情是,若我们把一些本该迭代的算法改成递归实现,会是什么样的情形。 这是一个很简单的矩阵加法的例子。 void matrixAdd(const std::vector<std::vector
阅读全文
摘要:或许你早已习惯了用printf来调试,亦或许你习惯了用IDE/GDB来调试。最近学习之余,发现了一个代码可视化的网站,它支持Python,C++,Java还有Javascript语言,其中Python支持到3.11,C++甚至支持部分C++20的特性!网站在这(https://pythontutor
阅读全文
摘要:在此之前,先来回顾元编程当中的一个重要概念。 template<typename _Tp, _Tp __v> struct integral_constant { static constexpr _Tp value = __v; typedef _Tp value_type; typedef in
阅读全文
摘要:Generic Types of Ranges 类型萃取从字面意思上来说其实就是帮助我们挑选某个对象的类型,筛选特定的对象来做特定的事。可以先来回顾一下以前的写法。 #include <vector> #include <iterator> int main() { std::vector v{1,
阅读全文