C++17 std::variant 简单使用
std::variant应当是用来替代union来使用的,后者从C时代就有了,但是它缺乏类型安全的保障。boost库很早之前就有了实现(其实从C++11开始,感觉boost不知道多少东西被借鉴走了)。std::variant的类长这个样子:template <class... Types>class variant;Usage使用起来也是比较方便的std::variant<int
std::variant应当是用来替代union来使用的,后者从C时代就有了,但是它缺乏类型安全的保障。boost库很早之前就有了实现(其实从C++11开始,感觉boost不知道多少东西被借鉴走了)。std::variant的类长这个样子:template <class... Types>class variant;Usage使用起来也是比较方便的std::variant<int
std::generate是“遍历——执行”工具函数的一种#include <algorithm>#include <iostream>#include <string>#include <vector>int main(){ std::vector<std::string> v(4); std::generate(v.begin()
看代码说话template <typename Iterator>auto distance(Iterator begin, Iterator end) { using Traits = std::iterator_traits<Iterator>; if constexpr (std::is_base_of_v<std::random_access_iterat
这个域名也是突发奇想买到的,作为unique-ptr.com,为了对得起这个名儿,那就说一下智能指针算了。前传。裸指针和auto_ptr裸指针就是高度自治(要自己管)的指针,在符合基本法(误)的前提下,使用裸指针的人可以为所欲为。裸指针的一个问题是,它有点不符合现代C++内存管理的指导思想,使用者必须对它的生命周期负责,否则有可能发生:内存泄漏(memory leak):如果new一大片内存但是由
作为非金融科班的学生,发现有一些术语其实看上去不知所以然,但是理解了之后就会感叹一下:这tm不就是xxx么~记得刚开始搞量化的时候,经常碰到的词汇就是各种因子,以及因子暴露(factor exposure)、因子载荷(factor loading)。然后我就去百度知乎Google搜啊,立马出来一大堆长篇大论告诉你它的由来,各种多因子模型。窃以为对于刚入门的我,最想知道的就是这个东西是什么意思,然后