编译时期常量数组及常用操作

文中所有的代码均遵循C++11的标准并编译通过。

const_array 的实现

在 C++11 标准中的使用constexpr修饰的函数的要求比较严格,只允许在函数体内有一个return语句。那么在这样的限制下,很多的表达式就只能使用递归来完成。

#include <iostream>

#include <cstddef>

template<type......

使用智能指针的默认行为来避免内存泄漏

2016年的 cppcon 上,Herb Sutter 的演讲中提出了一些关于常用的数据结构如何使用智能指针自动的构造和析构来避免内存泄漏的情况发生。

可以在这里找到这个演讲的链接:https://youtu.be/JfmTagWcqoE。

智能指针

unique_ptr

唯一所有权

离开作用域时,会同时析构指向的对象

shared_ptr

共享所有权

最后一个指向对象......

Python元编程 - 在Python中实现重载

避免重复的代码,避免复制粘贴一些逻辑的时候,我们使用了函数。那么避免复制粘贴定义一些类似的,或者较为相像的类的时候,我们就需要一个生成类的方法,在Python中,我们使用的方法就是元类(MetaClass)。

元编程的应用(1)函数重载

在 Python 中,如果我们想要实现一个可以接受多种参数的函数,我们通常的方法都是在函数体里判断参数的个数,和各个的类型。这个办法很麻烦,并且也不容易......