zoukankan      html  css  js  c++  java
  • C++初步学习

    C++主要特点:编译型语言,强类型(并非类型安全),操作符重载,泛型(STL库容器)。

    匿名联合:主要体现成员变量在内存中分布的方式,外界无法调用无名的对象。

    bool:任何基本类型都能隐式转为布尔类型。

    函数重载:

    原理:g++编译器换名机制,形参表不同则换名后函数名不同。

    extern C:按照C语言的方式编译,无法换名,无法函数重载。

    编译器匹配函数的原则:

    缺省参数:声明指定,定义不要指定;某一个参数有缺省值,后面的参数都需要;避免缺省参数产生重载歧义。

    inline函数:编译后用二进制代码替换函数调用。减少调用时间的开销(各种保存现场,出栈入栈)。C++内联函数优于C语言的有参宏(宏函数)。

    动态内存分配:

    malloc/free与new/delete:前者继续可用,后者分配同时初始化(例如类的初始化表、引用等)。

    数组方式分配:  类型 *p = new 类型 [] {}
        释放:  delete [] p; p = NULL;(防止双重释放报错)

    引用:

     内存的别名(alias),对引用操作即对目标内存操作;不占内存,并非实体(从C++看,从汇编来看是指针);

    必须初始化,不能换目标;常属性要求一致,可以更加严格,int a; const int &ra= a;

    常引用(万能引用)延长临时变量的生命期。

    引用形参以及常引用形参:

    避免复制对象产生开销;

    常引用形参:防止修改实参;接受常类型实参,foo(a,10);

    引用型返回值:不能返回局部变量的引用。

    类型转换:

  • 相关阅读:
    2.2阶乘末尾0的个数,最低位1的位置
    samba服务器使用
    全排列的非递归算法
    2.1二进制数中1的个数
    2.3发帖水王
    C #与##的使用
    NEU1141the unique number
    【转】4习惯让你越休息越累
    二叉树由先序遍历和中序遍历输出后序遍历
    UVA100
  • 原文地址:https://www.cnblogs.com/DMHLCPP/p/14051830.html
Copyright © 2011-2022 走看看