zoukankan      html  css  js  c++  java
  • C++...

    1,引用问题:

    左值引用,右值引用...

    2,动态内存分配:

    c++:使用new运算符

    1),分配一个变量;

      p=new T;

    T是任意类型名,p是类型为T*的指针。

    动态分配出一片大小为sizeof(T)字节的内存空间,并且将该内存空间的起始地址赋值给p

      int *pn;

      pn=new int;

      *pn=5;//向new 出来的空间写入了5

    2),分配一个数组;

      T:任意类型名

      P:类型为T*的指针

      N:要分配的数组的元素个数,可以是整型表达式

    动态分配出一片大小为N*sizeof(T)字节的内存空间,并且将该内存空间的起始地址赋值给p。

      int *pn;

      int i=5;

      pn=new int[i*20];

      pn[0]=20;

      pn[99]=30;

    注*:new运算符返回值类型;

      new T;

      new T[n];

    返回值类型都是T*

      int *p=new int;

    3),用“new”动态分配的内存空间,一定要用“delete”运算符进行释放

      delete指针;//该指针必须指向new出来的空间;

      int *p=new int;

      *p=5;

      delete p;

    一片空间不能被连续两次删除;

      数组“[]”;

      delete[]指针://该指针必须指向new出来的空间;

      int *p=new int[20];

      p[0]=1;

      delete[]p;//避免垃圾太多,删除,

    3,内联函数,重载函数,函数参数缺省值:

    1),内联函数(inline)

    函数调用有时间开销。为了减少函数调用的开销,引入内联函数机制。

    使用内联函数时,将整个函数代码插入到调用语句处,而不会产生调用函数的语句。

      在函数定义前边加“inline”关键字,即可定义内联函数

       inline int max(int a,int b);

    2),函数重载

    一个或多个函数,名字相同,然而参数个数或参数类型不相同,这叫函数重载。

    一下三个函数是重载关系:

      int max(double a,double b) { }

      int max(int n1,int n2) { }

      int max(int n1,int n2,int n3) { }

    简化了函数命名;

    注意不能有二义性;

    3),函数的缺省参数

    c++中,定义函数时,可以让最右边的连续若干个参数有缺省值,那么调用函数时,若相应位置不写参数,参数就是缺省值。

      void fun(int x,int y=2,int z=3){ }

      fun(10);//==fun(10,2,3)

      fun(10, ,8);//错误

    提高程序的可扩充性。

  • 相关阅读:
    javascript 离开网页时 触发函数
    dhl:简单的WebConfig加密 连接字符加密解密
    javascript获取网页URL地址及参数等
    dhl:img 的src 在 ie7下是将全路径。>ie8和firefox没有问题
    有趣有用网址大全
    VS2010 项目引用了DLL文件,也写了Using,但是编译时提示:未能找到类型或命名空间名称
    iis6配置支持.net4.0
    闲语MVC3和Razor 转自:啊不
    dhl:4.0服务器端控件
    如何在C#中实现窗体全屏模式
  • 原文地址:https://www.cnblogs.com/sweetlittlebaby/p/12894387.html
Copyright © 2011-2022 走看看