C/C++

  • C++服务编译耗时优化原理及实践

    一、背景 美团搜索与NLP部为公司提供基础的搜索平台服务,出于性能的考虑,底层的基础服务通过C++语言实现,其中我们负责的深度查询理解服务(Deep Query Understan…

    2022年11月9日
    760
  • git 更改分支名

    开发过程中,经常会有写错分支名的情况,如果删除了又太麻烦了,而如果不删除,就会给后面的工作带来困扰,所以,就需要用到更改分支名来实现,而这种又分为两种情况:提交到远端和未提交到远端…

    C/C++ 2022年11月4日
    650
  • C++常见性能陷阱

    导语 | 每个C++程序员仿佛都是人形编译器,不止要看懂代码表面的逻辑,甚至要知道每行代码对应的汇编指令。优化代码也成了C++工程师日常必备,正所谓“一杯茶,一包烟,一段代码,优化…

    2022年11月3日
    850
  • C++ 避坑指南(二)

    赋值语句的返回值 自增 自减 解指针

    2022年11月2日
    740
  • C++避坑指南(十二)

    C 风格字符串 字符串同样是 C++特别容易踩坑的位置。出于对 C 语言兼容、以及上一节所介绍的 C++希望将“语言”和“类型”解耦的设计理念的目的,在 C++中,字符串并没有映射…

    C/C++ 2022年11月2日
    610
  • C++避坑指南(十一)

    隐式构造 隐式构造指的就是隐式调用构造函数。换句话说,我们不用写出类型名,而是仅仅给出构造参数,编译期就会自动用它来构造对象。举例来说: class Test {  public:…

    C/C++ 2022年11月2日
    660
  • C++避坑指南(十)

    私有继承和多继承 C++是多范式语言 在讲解私有继承和多继承之前,笔者要先澄清一件事:C++不是单纯的面相对象的语言。同样地,它也不是单纯的面向过程的语言,也不是函数式语言,也不是…

    C/C++ 2022年11月2日
    600
  • C++避坑指南(九)

    平凡、标准布局 前阵子我和一个同事对这样一个问题进行了非常激烈的讨论: 到底应不应该定义 std::string 类型的全局变量 这个问题乍一看好像没什么值得讨论的地方,我相信很多…

    C/C++ 2022年11月2日
    760
  • C++避坑指南(八)

    static 笔者在前面章节吐槽了const这个命名,也吐槽了“右值引用”这个命名。那么static就是笔者下一个要重点吐槽的命名了。static这个词本身没有什么问题,其主要的槽…

    C/C++ 2022年11月2日
    900
  • c++避坑指南(七)

    auto 推导策略 C++11 提供了auto来自动推导类型,很大程度上提升了代码的直观性,例如: std::unordered_map<std::string, std::…

    C/C++ 2022年11月2日
    1010