zoukankan      html  css  js  c++  java
  • C/C++基础----函数

    用实参初始化形参时会忽略掉顶层const。

    尽量使用常量引用,普通引用会限制所能接受的实参类型,也会给调用者误导。

    管理数组实参的3种方法:

    • 数组本身包含一个结束标记
    • 传递指向数组首尾元素的指针
    • 定义一个表示数组大小的形参

    可变形参的函数

    如果实参类型相同,可用initializer_list模板类型;如类型不同,使用可变参数模板。

    初始化列表支持size() begin() end() ,拷贝和赋值不会拷贝元素,而是共享。

    返回数组指针

    typedef int arrT[10];

    using arrT=int[10];

    arrT* func(int i);

    不用类型别名声明函数

    int (*func(int i)) [10];

    使用尾置返回类型

    auto func(int i) -> int (*) [10];

    使用decltype

    const重载

    顶层const不区分,所以不能重载

    底层const可以重载,const对象只能传递给const形参,而非常量对象编译器优先调用非常量的版本。

    assert(expr)   NDEBUG

    当为真的时候,什么都不做;为假时输出信息并终止程序的执行。

    依赖于NDEBUG预处理变量的状态

    NDEBUG还可用于编写调试代码

    编译器定义的几个有用的变量

    __func__           当前调试的函数的名字const char数组

    __FILE__           存放文件名的字符串字面值

    __LINE__         存放当前行号的整型字面值

    __TIME__         存放文件编译时间的字符串字面值

    __DATE__         存放文件编译日期的字符串字面值

  • 相关阅读:
    Codeforces #548 (Div2)
    Codeforces #550 (Div3)
    UVA
    ios 动画
    CAAnimation
    iOS三种定时器的用法NSTimer、CADisplayLink、GCD
    iOS使用宏写单例
    iOS完美的网络状态判断工具
    iOS开发
    iOS自定义控件教程:制作一个可重用的旋钮
  • 原文地址:https://www.cnblogs.com/logchen/p/9576054.html
Copyright © 2011-2022 走看看