内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

当前分类:

> 软件编程 > C++教程 >

  • mt19937是什么鬼02月19日

    今天看一个C++的例子,突然看到这个mt19937,起先还以为是什么地方搞错了,怎么会有这个怪的名称呢?这个名称是mt1937? 代表1937年?心里一开始有这个疑问。代码如下: std::random_device rd;std::mt19937 gen(rd());std::uniform_int_distribution dist(-1

    Tags:mt19937
  • C++11智能指针02月19日

    引入 Ooops. 尽管有另外一篇文章说 C++11 里的智能指针了。近来,我听到许多人谈论 C++ 新标准,就是所谓的 C++0x/C++11 。 我研究了一下 C++11 的一些语言特性,发现确实它确实有一些巨大的改变。我将重点关注 C++11 的智能指针部分。 背景 普通指针(norma

    Tags:C++指针
  • 读书笔记 effective c++ Item 14 对资源管理类的拷贝行为要谨慎02月19日

    1. 自己实现一个资源管理类 Item 13中介绍了 资源获取之时也是初始化之时(RAII)的概念,这个概念被当作资源管理类的脊柱,也描述了auto_ptr和tr1::shared_ptr是如何用堆资源来表现这个概念的。然而并不是所有资源都是在堆上创建的,对于这种资源,像auto_p

    Tags:c++
  • c++编程思想(二):对象的创建和使用02月19日

    1、解释器:将源码转换为动作(机器语言),并立即执行 编译器:编译器也会将源码转换为机器语言,但是中间会经过好多步骤,分段编译 ,然后链接,可以实现将代码模块化 2、c++不鼓励多使用预处理命令 3、c++使用静态类型检查,当然也可以加代码进行动态类型

    Tags:c++
  • C++ STL笔记02月19日

    C++STL 1.vector 向量,长度可变的数组 头文件 #includevector 1.1vector的定义 vectortypename name; 例如: vectorint name; 如果typename是vector vectorvectorintname; 相当于二维数组 vectortypename ArrayName[arraySize]; 例如: vectorint vi[100];

    Tags:C++STL
  • C++模版函数02月19日

    C++中的模版总体可以分为两大类:模版函数、模版类。本篇文章先写模版函数,接下来会介绍模版类。 定义:模版函数是通用的函数描述,也就是说它们使用通用类型来定义,其中的通用类型可用具体类型替换。 代码实例: # include iostream //模版类的声明 templ

    Tags:C++模版
  • C++11检测是否存在特定成员函数02月19日

    0x00 问题提出 有这样一个需求:实现一个ToString函数将类型T转换到字符串,如果类型T中含有同名方法ToString则直接调用。 这样一个ToString实现可以使用std::enable_if来做到,但是这里的难点在于如何判断类型T中存在这样一个ToString方法,以便可以放入ena

    Tags:C++
  • C/C++产生随机数的方法02月18日

    c库伪随机数发生器 rand srand 大多时候用时间产生随机发生器的seed C++代码 intGetRandomNum(intmin,intmax,intseed){//srand((unsigned)time(NULL));//生成seedsrand(seed);return(rand()%(max-min)+min);} c++11 引入的伪随机数发生器.随机数抽象成随机数

    Tags:C++随机数
  • QT建立一个线程来处理耗时的工作02月18日

    1、建立一个工作类,派生于QObject,比如:Worker,用于执行耗时操作: class Worker : public QObject{ Q_OBJECTpublic slots: // 长时间的作业 void doWork() { // ... emit progress(正在...); // ... // 通知当前线程退出,即投递一个退出事件 QThread::

    Tags:线程Qt
  • C++11及之上的一些新东西02月18日

    读代码的时候遇到了一些新东西,以前从没见过的语句和使用方式,惊觉 C++ 标准都扩展到 C++17 了,然而我以前写 ACM 的时候甚至连 STL 都很少用。 后来倒是陆续用过 queue 和bitset 这样的黑科技。 这里陆续补充一点新东西的学习记录吧。 std::function std:

    Tags:C++
  • 反汇编看c++引用02月18日

    继续反汇编系列,本次使用vc2008在x86体系下分析c++中的引用。 定义一个引用类型和将一个变量转换成引用类型一样吗? 引用比指针安全,真的是这样吗,对引用不理解的话比指针还危险。 为什么要用常量引用传参,只是为了只读? 先来说明一下下面使用到的词汇

    Tags:反汇编c++
  • 读书笔记 effective c++ Item 13 用对象来管理资源02月18日

    1.不要手动释放从函数返回的堆资源 假设你正在处理一个模拟Investment的程序库,不同的Investmetn类型从Investment基类继承而来, 1 class Investment { ... }; // root class of hierarchy of 2 3 // investment types 进一步假设这个程序库通过一个工厂函

    Tags:c++
  • C++菱形继承原理分析02月17日

    菱形继承在C++继承中是一种复杂的继承关系,存在着二义性和数据冗余的问题,而菱形虚拟继承则是为了解决菱形继承所存在的问题。为了探讨菱形虚拟继承如何解决该问题,我先建立个一个较为简单的菱形继承模型。下面分别是菱形继承和菱形虚拟继承的代码实现: /

    Tags:C++
  • C++实现多态原理探究02月17日

    1. 用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。 2. 存在虚函数的类都有一个一维的虚函数表叫做虚表。类的对象有一个指向虚表开始的虚指针。虚表是和类对应的,虚表指针是和对象对应的。 3. 多态性是一个接口多种实现,是面向对象的核

    Tags:C++
  • C++模板杂谈02月17日

    在模板编程中,有几个常用的技术:模板(偏)特化,特性萃取,标签分派,匹配失败不是错误。其中模板(偏)特化是基础,匹配失败不是错误(SFINAE)应用最为广泛。 现代C++对模板编程做了更多的加强,boost.hana又结合constexpr和lambda把类型与值的计算统一

    Tags:C++模板
  • 读书笔记 effective c++ Item 12 拷贝对象的所有部分02月17日

    1.默认构造函数介绍 在设计良好的面向对象系统中,会将对象的内部进行封装,只有两个函数可以拷贝对象:这两个函数分别叫做 拷贝构造函数和拷贝赋值运算符 。我们把这两个函数统一叫做拷贝函数。从Item5中,我们得知,如果需要的话编译器会为你生成这两个拷

    Tags:c++
  • C++基础(五):多态02月16日

    前言 C++语言是C语言的拓展,C语言是面向过程的,C++在C的基础上增加了面向对象的方法 什么是面向对象呢,面向对象就是将数据和对数据的加工方法打包在一起,进行模块化的调用,通过方法来进行数据交换的一种设计方法 面向对象的程序设计有四个主要特点: 抽

    Tags:C++
  • 注册公司起名很费劲,用C++怒写个随机名字生成器02月16日

    前言 博主最近在注册公司,由于之前听说过注册公司的名字很难通过,于是便直接找代理去帮忙跑趟,为确保万无一失,还自己绞尽脑汁想了几个很奇葩的名字(噬菌体、云木、灌木、杏仁...)。 但是不幸的是那些奇葩的名字竟然都不能通过,其实我在工商网站上核对

    Tags:C++
  • 读书笔记effective c++ Item 11 在operator=中处理自我赋值02月16日

    1.自我赋值是如何发生的 当一个对象委派给自己的时候,自我赋值就会发生: 1 class Widget { ... }; 2 3 Widget w; 4 5 ... 6 7 w = w; // assignment to self 、 这看上去是愚蠢的,但这是合法的,所以请放心,客户端是可以这么做的。此外,自身赋值也并不

    Tags:operatoreffective
  • C/C++中慎用宏:#define02月16日

    宏的定义在程序中是非常有用的,但是使用不当,就会给自身造成很大的困扰。通常这种困扰为:宏使用在计算方面。 本例子主要是在宏的计算方面,很多时候,大家都知道定义一个计算的宏,对于编译和编程是多么的有用。现在定义有以下一个计算 乘法 的宏。 #incl

    Tags:C++define

CopyRight © 2015-2016 QingPingShan.com , All Rights Reserved.

清屏网 版权所有 豫ICP备15026204号