C++常用代码剖析

一. 产生随机数

1.1. 产生正态分布的随机数

#include <random>


int main()
{
    std::default_random_engine generator;
    std::normal_distribution<double> noise(0.,w_sigma);
    double n = noise(generator);

return 0;
}

模板

1 调用类模板成员函数

参考:调用模板类的模板成员函数的问题_笑Smile3721的博客-CSDN博客

class A
{

template<typename T>
void test()
{
    T a;
}

}


A c;
c.template test<int>();   // 调用类模板成员函数本就应该按照这种写法

c.test<int>(); // 这种方法在一些场合也能用,但是根据专业书籍的解释,这种写法应该算不规范的
                // 因为编译器会把test 和int 中间的 < 翻译成小于号

二. 多态

2.1 virtual 虚函数

你目前理解的就是可以重写基类的函数。

例如,基类X有一个 虚函数A,又创建了一个派生类Y(继承自X),现在派生类如果重写了函数A,那么实例化的基类对象X,调用函数A时,调用的是派生类的A;如果没有重写,那就调用原A

2.2 基类指针指向派生类对象

c++ 基类指针指向派生类对象 虚函数 多态 动态联编_ssp1000的博客-CSDN博客_c++基类指针指向派生类对象

三. 封装

3.1. explicit

禁止使用隐式类型转换调用这个构造函数。你得先去了解何谓隐式类型转换,看C++黑马程序员。

四. 容器类

4. 通用容器方法

41 emplace_back

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
迅捷是一个功能强大的C/C++源代码分析软件。可以处理数百万行的源程序代码。支持标准及K&R风格的C/C++。对每一个源代码工程,通过建立一个包含丰富交叉引用关系的数据库,显示其所含的各种信息:所有的源文件、所有的头文件、词汇索引、文件包含关系、宏定义、数据结构和函数定义、分文件夹的定义目录、构造层次、函数调用关系、诊断性输出等。仅须按一键就可以非常方便地扩展各种类型的定义和调用关系。所有这些结合起来帮助用户快速地阅读、理解、研究和维护大规模的源代码工程。 包含各种友好的用户界面效果,如对窗口的标签化排列、任意分隔、自动隐藏、浮动、拖拉等。可以使用户快速地找到每一个功能性窗口并重新以各种格局加以任意组合。 包含有一个多功能的文本及十六进制编辑器。便利性特色包括:句法着色、自动完成词汇、对整个内容的自动格式化。可以动态地显示一个文件中的标示词。可以设置多个文件定义来指定对文件的处理、颜色及样式等。可以较快地定位当前或以前打开的某个文件。 包含一个可以同时打开多个工程的工作区,有许多命令可以处理某一个或所有的工程。有强大的功能可以同时在多个文件、文件夹、工程中进行后台查找和替换。 包含一个强大的比较模块,可以进行文件间或文件夹间的后台对比。提供有许多命令来显示目标之间的差别。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值