zoukankan      html  css  js  c++  java
  • 【C++学习点滴】4月汇总:volatile,数组维度,const修饰符

    volatile关键字

      volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。

    使用该关键字的例子如下:

    int volatile nVint;
     当要求使用volatile 声明的变量的值的时候,系统总是重新从它所在的内存读取数据,即使它前面的指令刚刚从该处读取过数据。而且读取的数据立刻被保存。
    数组维度:
    数组的维数值必须是常量表达式—— 即 必须能在编译时刻计算出它的值 这意味着非const 的变量不能被用来指定数组的维数

    与内置数组不同 vector 可以被另一个vector 初始化 或被赋给另一个vector
    Const修饰符:

    const 对象的地址只能赋值给指向const 对象的指针

    const int test = 0;
    const int *ptr = &test; //ptr 指向的对象是无法改变的,但是ptr可以指向其他的对象
    int test1 = 0;
    int *const ptr = &test1; //ptr 指向的地址是无法改变的,但是指向的对象可以改变,意思是这种指针只能指向一个固定的对象。但是这个对象的值可变。

    Break语句:
    break 语句终止最近的while do while  for 或switch 语句 程序的执行权被传递给紧接着被终止语句之后的语句<注意不包含if语句>
    continue 语句只有出现在循环语句中才是合法的

    和JAVA语言不一样的初始化定义方法
    ilist() : _at_front( 0 ), _at_end( 0 ) ,_size( 0 )
    {
    }
    这样看就比较好理解了。
    冒号后面的表示将括号里的值赋给成员变量,而函数体里面什么都没有做。
    相当于如下代码
    ilist() 
    {
      _at_front=0;
     _at_end=0;
     _size=0;
    }
    
    
    这是构造函数的一个特殊的实现方法,其他的函数不能这么用。
    虚函数 virtual
    要点: 主要目的是启用动态绑定。 对于非虚函数的调用将于编译时刻就会确定,而虚函数将会在调用的时候动态确定。
           派生类如果没有重定义某个虚函数,则会使用基类中定义好的版本。

    注意: 构造函数, static 成员函数是不能定义为虚函数的。

    virtual 保留字只在类内部的成员函数声明中出现不能再定义的时候出现。

    protected 成员
    只允许派生类访问,但是派生类只能通过派生类的对象来访问。



  • 相关阅读:
    MATLAB 显示精度 用法设置以及实例
    matlab MCR路径
    fmincon如何使非线性约束函数写成匿名函数的形式
    Matlab强行终止程序执行
    Matlab绘制图像后在指定点绘制坐标线以及标注变量
    c#各种变量的总结
    Matlab绘制图像及图像的处理
    MATLAB 嵌套函数,子函数,私有函数,重载函数
    Matlab 接受字符串并转为符号表达式,inline函数,匿名函数形式的方法汇总
    MATLAB 函数编写方法, 浅析MATLAB中的内联函数、匿名函数和函数函数
  • 原文地址:https://www.cnblogs.com/rywx/p/2040393.html
Copyright © 2011-2022 走看看