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);//错误

    提高程序的可扩充性。

  • 相关阅读:
    Spring整合hessian和burlap及自带的Invoker
    Spring 企业级开发应用远程服务原理和实现机制
    RMI
    并行开发 —— 第七篇 简要分析任务与线程池
    并行开发 —— 第二篇 Task的使用
    并行开发 —— 第六篇 异步编程模型
    网络编程——第三篇 HTTP应用编程(下)
    并行开发 —— 第四篇 同步机制(上)
    网络编程——第二篇 HTTP应用编程(上)
    并行开发 —— 第一篇 Parallel的使用
  • 原文地址:https://www.cnblogs.com/sweetlittlebaby/p/12894387.html
Copyright © 2011-2022 走看看