• C++ 点滴 (二)


    1.typedef 不仅可以给类型起别名,也可以简化一些比较复杂的类型申明,比如typedef int byte_4,代表给int起了个别名为byte_4,在代码中可以使用byte_4来代替int;又比如typedef bool Func(const string&,const string&);使用Func来代表一个函数申明,该函数返回bool型,包含两个const string& 类型参数。

    2.针对重载函数的函数指针需要精确匹配,否则会报错;

    3.像数组一样,函数不能直接作为形参,但是可以使用函数指针来传递函数;

    4.局部静态对象,在函数第一次调用时创建,函数结束时并不销毁它,而是在整个应用结束时才销毁;

    5.C++ 11引入位置返回类型,可以将函数的返回类型放在形参列表后面,但与形参中间隔了一个->符号,比如 auto test(int & a) ->bool等同于 bool test(int& a);

    6.形式参数列表中,const和&对参数的限制可以理解为:如果函数的参数不需要拷贝,则用&来引用,比如iostream类型的变量不能被拷贝,所以形式参数中但凡使用io的,则只能使用&来限制参数,const代表函数体内对参数不会做更改,如果有更改,编译器会报错。

    7.struct和class都可以用来定义一个类,区别在于如果没有存在public或者private等修饰符,类成员的默认修饰不一样。对于struct而言,默认都是public,对于class而言,都是private的。

    8.友元friend简单来说,就是允许非类中的函数或者其他类来访问类中非公共的成员,具体用法就是在类中以friend开头申明类或者函数。

    9.编译器在编译C++代码时是分阶段处理的,先处理申明,再处理定义。所以在类的成员函数中使用后申明的成员变量时,编译器不会报错。

  • 相关阅读:
    ES6学习之数组扩展
    js三元表达式
    ES6学习之函数扩展
    TS学习之for..of
    TS学习之Symbol
    Visual Studio编译时报错“函数名:重定义;不同的基类型”
    Windows Visual Studio中修改PostgreSQL代码后调试报错
    Windows安装MySQL5.7.17
    289. Game of Life -- In-place计算游戏的下一个状态
    Swift的 convenience && designated init
  • 原文地址:https://www.cnblogs.com/chyshx/p/14415197.html
Copyright © 2020-2023  润新知