Guan 发布的文章

NumPy的使用


前言

为什么在 Python 已有 list 基础类型的状况下,还要用 NumPy 处理数据?

关于 NumPy 的优势有以下几点:

  1. 列表 list 的元素在系统内存中分散存储,NumPy 数组存储在一个均匀连续的内存块中;
  2. 缓存会直接把字节块从 RAM 加载到 CPU 寄存器中;
  3. NumPy中的矩阵计算可以采用多线程方式,充分利用多核 CPU 计算资源。

如果对上述内容用一个字做总结,那就是:NumPy ,

NumPy中的两个重要对象:ndarray(解决多维数组问题),ufunc(对数组进行处理的函数)。


Observer观察者模式


前言

关于观察者模式我有以下几个问题想问:

  • 什么是观察者模式?
  • 为什么需要观察者模式(也就是什么情况下使用观察者模式)?
  • 观察者模式的优点是什么?
  • 观察者模式的缺点是什么?


C++的动态联编与虚函数


前言

函数名联编(binding):将源代码中的函数调用解释为执行特定的函数代码块的过程。

静态联编:在编译过程中进行联编叫作静态联编。

动态联编:程序运行时才选择需要执行的代码叫作动态联编。


friend友元


前言

作用:友元类的所有方法友元函数 可以访问原始类的私有成员保护成员

友元类的声明:friend class [classname];

友元函数的声明:friend [functype] [funcname] ([arglist]);

声明位置:友元声明的位置并不重要,可以public、privated和protected——没有任何区别。

什么时候考虑友元:你不是我(非同一个类),也不是我身体的一部分(不是类的成员),但你可以用我的东西(被保护【protected】起来、被保密【privated】起来的成员)。