zoukankan      html  css  js  c++  java
  • 基于c++回顾

    c++类

    特别的构造函数

    默认参数:

    几乎所有函数都可以使用默认参数,但在构造函数中最为普遍

    初始化列表

    用来直接初始化数据成员;与列表顺序无关,与成员申明顺序有关;如果一个成员是const的,那么,该数据成员必需在初始化列表里进行初始化;

    explicit构造函数

    所有单参数的构造函数都必需是explicit的;以避免后台类型转换;

    例如:

    class A

    {

      A(int x = 0){}

      ~()A{}

    }

    A a;

    a = 12;

    由于c++拥有宽松规则,这将导制的结果会是,后台产生一个隐式类型转换;

    A temp = 12;

    a = temp; 

    explicit A(int x = 0){}   explicit 关键字意味着不能使用隐式类型转换;从而使编译器正确解析以上语句

    成员函数

    在c++中,每一个成员函数都会被标记为访问函数或是修改函数;默认情况下所有的成员函数都是修改函数;只有在成员函数圆括号结尾加入的函数才是访问函数;

    参数的传递

    1. 如果形参必需改变实参的值,那么必需是引址调用
    2. 如果参数类型是简单类型,使用按值传递;
    3. 参数类形是类类型一般按常量引用来传递;
      • 按值传递实用于不被函数更改的小对象
      • 常量引用调用适用于不被函数更改的大对象
      • 引址引用适用所有可以被函数更改的对象
  • 相关阅读:
    codeforces-1139 (div2)
    codeforces-1140 (div2)
    codeforces-1141 (div3)
    第四届CCCC团体程序设计天梯赛 后记
    BZOJ 3674 可持久化并查集
    你能回答这些问题吗
    [JSOI2008]最大数
    关路灯
    愤怒的小鸟
    推销员
  • 原文地址:https://www.cnblogs.com/flowingwind/p/8403254.html
Copyright © 2011-2022 走看看