博客专栏  >  编程语言   >  一步步学习C++

一步步学习C++

C++作为一门较为成熟重量级的语言,吸引了许许多多编程学习者,它广泛应用于网络、通讯、图像、游戏、硬件驱动、嵌入式等行业。C/C++入门虽难,但知识更新速度远没有Java、.Net快,是一门“一朝学习,受用终生”的技术。

关注
5 已关注
26篇博文
  • C++11:std::move和std::forward

    标准库函数 std::move既然编译器只对右值引用才能调用转移构造函数和转移赋值函数,而所有命名对象都只能是左值引用,如果已知一个命名对象不再被使用而想对它调用转移构造函数和转移赋值函数,也就是把一...

    2017-08-14 11:15
    32
  • C++11:移动语义

    为什么需要移动语义#include using namespace std;class Test { public: Test(int a = 0) {//普通构造函数 ...

    2017-08-14 10:58
    35
  • C++11:右值引用

    左值、右值在C语言中,我们常常会提起左值(lvalue)、右值(rvalue)这样的称呼。一个最为典型的判别方法就是,在赋值表达式中,出现在等号左边的就是“左值”,而在等号右边的,则称为“右值”。如:...

    2017-08-14 10:36
    30
  • VS开发人员命令界面查看C++类内存布局

    基本使用方法VS 编译器(这里使用的是:VS 2013)可以通过”开发人员命令提示“查看 C++ 类的内存布局,非常有用。双击”VS2013 开发人员命令提示“,出现如下界面: 进入测试代码所在的目...

    2016-07-28 14:16
    798
  • C++11 中defaulted 和 deleted 函数

    defaulted 函数背景问题C++ 的类有四类特殊成员函数,它们分别是:默认构造函数、析构函数、拷贝构造函数以及拷贝赋值运算符。这些类的特殊成员函数负责创建、初始化、销毁,或者拷贝类的对象。如果程...

    2016-05-22 21:27
    1119
  • C++进阶学习——单向链表的实现

    示例代码如下:#include using namespace std; class Node //节点类 { public: //普通构造函数:无参数,带1个参数,带2个参数 Node(){...

    2015-11-06 17:00
    1876
  • C++入门学习——虚函数表介绍

    C++动态多态性是通过虚函数来实现的,虚函数允许子类(派生类)重新定义父类(基类)成员函数,而子类(派生类)重新定义父类(基类)虚函数的做法称为覆盖(override),或者称为重写。 C++ 中的虚...

    2015-10-19 18:02
    1033
  • C++入门学习——explicit关键字的作用

    C++语言定义了内置类型之间的几个自动转换。也可以定义如何将其他类型的对象隐式转换为我们的类类型, 或将我们的类类型的对象隐式转换为其他类型。 C++提供了关键字explicit,可以阻止不应该允许的...

    2015-10-13 12:46
    1253
  • C++通过jsoncpp类库读写JSON文件

    JSON是一个轻量级的数据定义格式,比起XML易学易用,而扩展功能不比XML差多少,用之进行数据交换是一个很好的选择。JSON的全称为:JavaScript Object Notation ,顾名思义...

    2015-09-29 19:08
    6044
  • C++进阶学习——线程基类的设计(Linux)

    此示例是在Linux环境下(使用Linux系统编程线程相关函数)测试,文件说明如下:ThreadBase.cpp, ThreadBase.h为线程基类ThreadDerive.cpp, ThreadD...

    2015-09-29 18:37
    1611
  • C++进阶学习——单例模式的实现

    单例模式也称为单件模式、单子模式,是使用最广泛的设计模式之一。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。单例模式通过类本身来管理其唯一实例,这种特性提供了...

    2015-09-29 18:19
    1272
  • 浅谈C++多态性

    那么多态的作用是什么呢,封装可以使得代码模块化,继承可以扩展已存在的代码,他们的目的都是为了代码重用。而多态的目的则是为了接口重用。也就是说,不论传递过来的究竟是那个类的对象,函数都能够通过同一个接口...

    2015-09-29 17:57
    1164
  • C++通过TinyXML类库读写XML文件

    TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树...

    2015-09-21 18:28
    5786
  • C++入门学习——标准模板库之map

    map 是 STL 的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在 map 中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一...

    2015-09-16 18:59
    1466
  • C++入门学习——标准库 string 类的使用

    在 C++ 中,为了方便处理字符串,引入了 string 类。string 类型支持长度可变的字符串。 使用 string 之前,必须包含相应的头文件,string 属于 std 命名域的,因此需要...

    2015-07-13 23:01
    846
  • C++入门学习——标准模板库之vector

    vector(向量容器),是 C++ 中十分有用一个容器。vector 之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector 是一个能够存放任意类型的动态数组,能够...

    2015-06-25 16:21
    1553
  • C++入门学习——模板

    现在,我们再重新审视上述的 max() 函数,它们都具有同样的功能,即求两个数的最大值,能否只写一套代码解决这个问题呢?这样就会避免因重载函数定义不全面而带来的调用错误(如,我们分别定义了 char ...

    2015-06-24 20:33
    812
  • 从面向过程到面向对象

    从 IBM 公司的约翰·巴库斯在 1957 年开发出世界上第一个高级程序设计语言 Fortran 至今,高级程序设计语言的发展已经经历了整整半个世纪。在这期间,程序设计语言主要经历了从面向过程(如 C...

    2015-05-27 14:12
    1279
  • delete p和delete[] p的区别

    operator new 和 operator delete函数有两个重载版本,每个版本支持相关的new表达式和delete表达式:    void* operator new (size_t); ...

    2012-12-13 15:54
    655
  • 重载、隐藏和重写(有的书叫“覆盖”)的区别?

    1) 重载的特征:     a) 相同的范围(在同一个类中)     b) 函数名字必须相同      c) 参数不同(指参数类型不同,或参数个数不同,或两者皆有)      d) virtual关键...

    2012-12-06 11:51
    837

C语言
1620634
Linux环境编程
311961

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部