C++primer中文版笔记--C++浏览

    技术2022-05-11  140

    C++浏览

    1.       复合类型(compound type 指针和数组类型

    2.       数组(array)是一种顺序容器,包含单一类型的元素一位偏移(off-by-one):下标从0开始

    3.       静态分配:编译器在处理程序源代码时分配——效率——分配与释放由编译器自动处理动态分配:程序执行时调用运行时刻库函数来分配——灵活——由程序员显式管理newdelete来完成。1)用于分配特定类型的单个对象:int *pint = new int ( 1024 );//分配了一个没有名字的int类型的对象,初始值为1024delete pint//删除单个对象2)用于分配特定类型和维数的数组int *pia = new int [ 4 ];//分配了一个含有四个整数元素的数组delete [] pia//删除一个对象数组如果忘记了删除动态分配的内存,会出现内存泄漏(memory leak

    4.       指针类型:存放对象的内存地址值——主要作用是管理和操作动态分配的内存取地址(address-of)操作符(&解引用(dereference)操作符(*)来解除指针的引用,使其指向实际对象

    5.       模板机制:对某种抽象进行扩展,使其能够支持无限数目的数据类型

    6.       类的一般形式class classname {public:    //公有操作集合private:    //私有操作集合}classname myobject;成员访问操作符(member access operator):用于类对象的点操作符(.),以及用于类对象指针的箭头操作符(->构造函数(constructor类的公共接口与私有实现代码的分离,称为信息隐藏(information hiding

    7.       内联函数(inline function)机制:在它的调用点上被展开,不会引入任何函数的调用。在类定义中被定义的成员函数会被自动动作是内联函数,此外也可以用inline关键字显式的要求一个函数被视为内联函数。

    8.       函数重载(function overloading)机制,允许两个或更多个函数使用同一个名字,限制条件是它们的参数表必须不同(参数类型不同或参数的数目不同)

    9.       被声明为static的数据成员是一类特殊的共享数据成员,无论这个类的对象被定义了多少个,静态数据成员在程序中只有一份。

    10.   类域操作符(class scope operator(双冒号::)

    11.   引用(reference,classname &rhs,引用是一种没有指针语法的指针(所以用点操作符而不是箭头操作符rhs._size),与指针一样,引用提供对对象的直接访问。

    12.   析构成员函数(destructor member function):在类的名字前加一个波浪线(~)来标识,会释放在类对象使用和构造过程中所获得的资源。

    13.   希望防止派生类直接访问某个成员,就声明为基类的private成员确信某个成员提供了派生类需要直接访问的操作或数据存贮,且通过该成员,派生类的实现会更有效,则把该成员声明为protected.

    14.   对类型相关的成员函数,标记为virtual虚拟的,它的算法由特定的基类或派生类的行为或实现来决定。对一个非虚拟函数调用,编译器在编译时刻选择被调用的函数;而虚拟函数调用的决定则要等到运行时刻。

    15.   多继承(multiple inheritance):一个类可以从两个或多个基类派生而来虚拟继承,在这种继承方式下的单个实例在多个派生类之间共享

    16.   泛型设计template < class elemType > //在需要将类或函数定义内部的类型和值参数化时,用作占位符实例声明就是在类模板名的后面加上一对尖括号,然后写上实际的类型Array<int>eg: class ArrayRC : public Array<elemType>{…};

    17.   异常(exception)是指在运行时刻程序出现的反情形,如数组下标越界,打开文件失败以及可用动态内存耗尽等等。异常处理(exception handling)机制:1)程序中异常出现的点,一旦识别出异常,将会导致抛出(raisethrow)异常2)程序中异常被处理的点。Trycatch子句

    18.   名字空间 namespace

     

    最新回复(0)