博客专栏  >  编程语言   >  C++学习笔记

C++学习笔记

主要内容是本人在学习C++编程的一些读书笔记,包括了C++中一些重要知识点的总结和个人的心得体会,希望能和大家一起交流,共同进步!

关注
6 已关注
16篇博文
  • C++学习之构造函数中的异常处理

    构造函数中可不可以抛出异常?当然可以。从语法上来说,是可以的;从实际情况来看,现在的软件系统日渐庞大和复杂,很难保证 Constructor 在执行过程中完全不发生一点异常。 那么,如果构造函数中抛...

    2015-03-15 13:36
    1820
  • C/C++内存对齐

    一、什么是内存对齐 内存对齐(Memory alignment),也叫字节对齐。 现代计算机中内存空间都是按照 byte 划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况...

    2014-09-23 10:02
    1003
  • C++进阶之虚函数表

    C++通过继承(inheritance)和虚函数(virtual function)来实现多态性。所谓多态,简单地说就是,将基类的指针或引用绑定到子类的实例,然后通过基类的指针或引用调用实际子类的成员...

    2014-09-02 08:30
    926
  • C++学习之普通函数指针与成员函数指针

    函数指针(function pointer)是通过指向函数的指针间接调用函数。相信很多人对指向一般函数的函数指针使用的比较多,而对指向类成员函数的函数指针则比较陌生。我最近也被问到了这方面的问题,心中...

    2014-08-03 01:10
    1314
  • C++学习之动态数组类的封装

    动态数组(Dynamic Array)是指动态分配的、可以根据需求动态增长占用内存的数组。为了实现一个动态数组类的封装,我们需要考虑几个问题:new/delete的使用、内存分配策略、类的四大函数(构...

    2014-07-29 17:03
    3217
  • C++学习之new与delete、malloc与free

    在C/C++的面试时,对于new/delete和malloc/free这两对的使用和区别经常被考查到,如果这种基础的问题都答不上来,估计很难过面试了。这篇文章仅仅是浅显的讲一下,仅供参考。 一、ne...

    2014-07-26 01:55
    1238
  • C++学习之命名空间

    在C++中,命名空间(namespace)的目的是为了防止名字冲突。每个命名空间是一个作用域,在所有命名空间之外,还存在一个全局命名空间(global namespace),全局命名空间以隐式的方式声...

    2014-07-25 19:04
    919
  • C++学习之模板特例化

    模板是C++中一个很重要的特性,写一份代码能用于多种数据类型(包括用户自定义类型)。例如,STL的sort()函数可以用于多种数据类型的排序,类stack可以用作多种数据类型的栈。但是,如果我们想对特...

    2014-07-23 08:52
    1543
  • C++学习之可变参数的函数与模板

    所谓可变参数指的是函数的参数个数可变,参数类型不定的函数。为了编写能处理不同数量实参的函数,C++11提供了两种主要的方法:如果所有的实参类型相同,可以传递一个名为initializer_list的标...

    2014-07-22 16:29
    1543
  • C++学习之函数模板与类模板

    泛型编程(Generic Programming)是一种编程范式,通过将类型参数化来实现在同一份代码上操作多种数据类型,泛型是一般化并可重复使用的意思。泛型编程最初诞生于C++中,目的是为了实现C++...

    2014-07-18 23:40
    1021
  • C++学习之多重继承与虚继承

    一、多重继承 我们知道,在单继承中,派生类的对象中包含了基类部分 和 派生类自定义部分。同样的,在多重继承(multiple inheritance)关系中,派生类的对象包含了每个基类的子对象和自定...

    2014-07-17 22:40
    929
  • C++学习之继承中的访问控制

    我们通常认为一个类有两种不同的用户:普通用户 和 类的实现者。其中,普通用户编写的代码使用类的对象,这部分代码只能访问类的公有(接口)成员;实现者则负责编写类的成员和友元的代码,成员和友元既能访问类的...

    2014-07-16 21:15
    1027
  • C++学习之虚函数与纯虚函数

    面向对象程序设计(object-oriented programming)的核心思想是数据抽象、继承、动态绑定。通过数据抽象,可以使类的接口与实现分离,使用继承,可以更容易地定义与其他类相似但不完全相...

    2014-07-16 02:05
    1668
  • C++学习之extern "C"

    我们知道,extern关键字可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。这里起到的是声明作用范围的用处。另外,extern还可以与...

    2014-07-04 23:39
    941
  • C++与C的那些差异

    虽说C++是向后兼容C的,但C++与C还是存在许多差异。这里举了几个例子,也是我们很容易忽略的地方。如果你还知道其他的更多的Differences,或者发现什么错误,可以评论告诉我,大家一起学习进步。...

    2014-07-04 19:56
    811
  • Ubuntu安装新版GCC并启用C++11

    C++11,(即ISO/IEC 14882:2011),是目前的C++编程语言的最新正式标准。它取代了第二版标准(第一版公开于1998年,第二版于2003年更新,分别通称C++98以及C++03,两者...

    2014-03-24 13:39
    8603

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