• 2021.07.17牛客学习


    inline内联

    内联说明(inline specification)对于编译器来说只是一个建议,编译器可以选择忽略这个建议。也就是说,是否以嵌入式方式存在,是由编译器决定的,并不是一定。

    c++不是类型安全语言

    c++可以把0当成false,就算函数返回的是bool类型,你返回0,照样会转成false,所以并不是很安全

    c++实例化顺序根据定义顺序

    struct A {
      A() { std::cout << "A"; }
    };
    struct B {
      B() { std::cout << "B"; }
    };
    
    class C {
     public:
      C() : a(), b() { std::cout << "C"; }
    
     private:
      B b;
      A a;
    };
    
    int main()
    {
        C();
    }
    

    这段代码先定义了b,再是A,所以是B的构造先执行。打印的顺序是BAC

    如果是B类继承A类,实例化B类,先调用A构造函数,然后在调用B的构造,析构是先调用B的,在调用A的。只要理解其中的原理,还是很好理解的 。

    C++11已经支持使用or代替||符号。

    register修饰符

    暗示编译程序相应的变量将被频繁地使用,如果可能的话,应将其保存在CPU的寄存器中,以加快其存储速度。

    1.register修饰通常是一个变量,但是必须小于int大小

    2.因为register变量可能不存放在内存中,所以不能用“&”来获取register变量的地址。

    3.只有局部自动变量和形式参数可以作为寄存器变量,其它(如全局变量)不行。

    4.局部静态变量不能定义为寄存器变量。不能写成:register static int a, b, c;

    反正寄存器数量有限,所以尽量少使用。实际上现在许多编译器会忽略register的存在。

    c++11中变量可以在类中初始化。

    c++访问权限总结

    • c++是类中默认访问类型是private,struct默认是public

    • private,public,protected方法的访问范围.(public继承下)
      private: 只能由该类中的函数、其友元函数访问,不能被任何其他访问,该类的对象也不能访问.
      protected: 可以被该类中的函数、子类的函数、以及其友元函数访问,但不能被该类的对象访问
      public: 可以被该类中的函数、子类的函数、其友元函数访问,也可以由该类的对象访问
      注:友元函数包括两种:设为友元的全局函数,设为友元类中的成员函数

    • 类的继承后方法属性变化:
      使用private继承,父类的所有方法在子类中变为private;
      使用protected继承,父类的protected和public方法在子类中变为protected,private方法不变;
      使用public继承,父类中的方法属性不发生改变;

    类模板声明

    类模板的格式如下:

    template``<``class``形参名,``class``形参名,…>``class``类名{ ... };
    

    函数模板的格式如下:

    Template <``class` `形参名,``class` `形参名,......> 返回类型函数名(参数列表){函数体}
    

    其中,class可以用typename关键字代替。

  • 相关阅读:
    Ansible之AWX安装部署
    Nacos 高可用集群部署
    kubernetes之Pod中的容器共享进程Namespace
    kubernetes之使用ConfigMap管理Pod配置文件
    kubernetes之给容器的生命周期事件添加处理器
    kubernetes之创建初始化容器
    kubernetes之Pod分配到指定Node
    kubernetes之容器健康状态检测
    centos7源码编译安装LNMP+ZABBIX4.0LTS(5)——zabbix proxy+zabbix agent
    centos7源码编译安装LNMP+ZABBIX4.0LTS(4)——zabbix server+zabbix agent
  • 原文地址:https://www.cnblogs.com/sunnylinry/p/15024940.html
Copyright © 2020-2023  润新知