zoukankan      html  css  js  c++  java
  • C++之再续前缘(一)——C++基础(与C语言的差异)(下)

    1.void型指针

      void本身是一种数据类型,通常表示无值,不能声明void类型的变量,但是可以声明void类型的指针,

      void*类型的指针表示不确定的类型,是一种通用型的指针,也就是说任何类型的指针都可以付给void类型的指针变量

      例如:int  p;

        char a;

        void* x;

        x=&p;

        x=&a;

      同时,在进行输出的时候,void*类型必须进行强制类型转换

    2.内联函数

      inline double circle(double r)

      1.使用内联函数是为了消除#define的不安全性

      2.使用内联函数需要注意的几点

        1.调用前必须有完整的定义(声明必须完整,若无声明,定义必须在前面,否则编译器将无法知道应该插入什么代码)

        2.内联函数以时间换空间,因此尽量避免使用复杂语句(for ,switch while等等),且代码不要过长

    3.带默认参数的函数

     void Init(int x,int y=5);

    带默认值的必须在无默认值的后面

    对应的,在传递实参时

    Init(3)

    而不能出现func(,20)

    4.函数重载:函数参数类型不同或函数参数个数不同,或者两者都有

    注意!!!

    1.如果两个函数除了函数返回类型其他的都相同,那么他们不算重载,这样写是错误的

    在调用时无法区分应该调用哪一个函数

    double mul(int x,int y)

    int mul(int x,int y)

    2.函数重载与代拟任职的参数一起使用,可能会有二义性

    5.作用域标识符::

      用于在局部作用域中使用被自动隐藏的同名全局变量

    6.强制类型转换

      (double)x;

    7.new 和delete

    p=new int

    8.引用

     

    暂时不想写了,特么的,好烦

    亲爱的听众朋友我是你的代班DJ
  • 相关阅读:
    [BZOJ 1095] [ZJOI 2007]Hide 捉迷藏
    [BZOJ 2759] 一个动态树好题
    BZOJ 3122 SDOI2013 随机数生成器
    [NOIP集训]10月18日
    [NOIP集训]10月17日
    [NOIP集训]10月16日
    [NOI题库]1.3编程基础之算术表达式与顺序执行 题解(一)
    [NOI题库]1.2编程基础之变量定义、赋值及转换 题解
    [NOI题库]1.1编程基础之输入输出 题解
    [作业]排序算法练习(二)
  • 原文地址:https://www.cnblogs.com/YTYMblog/p/5384704.html
Copyright © 2011-2022 走看看