按时间归档:2023年02月

  • 【Modern cpp】并发、原子性、锁、条件变量

    线程与C++     在C++11之前的标准中,在C++语言层面是没有对线程的支持的,所以在特定平台编写(windows,linux等)跟线程相关的C++程序往往是要结合所在平台的…

    C/C++ 2023年2月27日
    1710
  • 【Modern cpp】lambda

    匿名函数–lambda函数     匿名函数或者匿名类这种语法在其他语言(如lisp,java中)早有应用。在C++11中正式引入了lambda函数,在很多场景下让程序变得更加直…

    C/C++ 2023年2月27日
    1580
  • 【Modern cpp】不定参数模板与std::tuple、std::bind实现原理

    不定参数函数     学过C语言的人应该都用过printf这个库函数,它的声明如下: extern int printf(const char *format,…);     …

    C/C++ 2023年2月27日
    2130
  • Modern cpp之完美转发

    转发的问题     在模板编程中,常有一种场景是把模板参数转发给另一个函数调用,这时候如果只提供值传递版本会显得效率太低。看一下代码 template<class TYPE,…

    C/C++ 2023年2月27日
    1400
  • Modern cpp之std::enable_if和SFINAE

    名词解释SFINAE     SFINAE是英文Substitution failure is not an error的缩写,意思是匹配失败不是错误。这句话什么意思呢?当调用模板…

    C/C++ 2023年2月27日
    1410
  • C++11新特性–右值引用与移动语义

    引子-深拷贝和浅拷贝     在cpp11之前,我们定义一个类如果类中有指针成员,并且其指向一块堆内存,那么往往本类要负责这个指针指向内存的分配和销毁,不然会产生令人讨厌的内存泄露…

    C/C++ 2023年2月27日
    1320
  • auto、decltype、decltype(auto)

    1、auto 让编译器通过初始值来进行类型推演 所以说 auto 定义的变量必须有初始值 使用过程 //普通;类型 int a = 1, b = 3; auto c = a + b…

    C/C++ 2023年2月24日
    1670
  • Faiss 向量库编译安装

    Faiss 是 Facebook 开源的一套高效相似性搜索以及向量聚类的开发库,支持各类相似性搜索的算法,Faiss 项目本身是使用 C++ 编写的,但是提供 Python 的绑定…

    C/C++ 2023年2月24日
    2140
  • 47.多态

    1.多态基本概念   多态是面向对象程序设计语言中数据抽象和继承之外的第三个基本特征。   多态性(polymorphism)提供接口与具体实现之间的另一层隔离,从而将”what”…

    C/C++ 2023年2月24日
    1510
  • stl之分配器allocators

    先谈operator new()和malloc() c++分配内存动作最终都会跑到malloc上,所以operator new里也是调用malloc那malloc分配内存什么样子呢…

    C/C++ 2023年2月24日
    1630