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);

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

    类型转换:

  • 相关阅读:
    vnc安装
    centos下安装图形界面
    granfana telegraf influx安装与使用
    jenkins安装与使用
    yum使用手册
    Python模块--并发相关threading、multiprocessing、Queue、gevent
    Python模块--logging
    Python模块--psutil
    python模块--Beautifulsoup
    Python模块--Pexpect
  • 原文地址:https://www.cnblogs.com/DMHLCPP/p/14051830.html
Copyright © 2011-2022 走看看