zoukankan      html  css  js  c++  java
  • C++学习笔记(一)

    使用静态类型的编程语言实在编译时执行类型检查,而不是在运行时执行类型检查。C++属于静态类型语言。

    面向对象四大特性:封装、继承、抽象、多态。

    标准C++三个重要部分组成:核心语言、C++标准库、标准模板库(STL)。

    ANSI标准,确保C++的便携性,我理解为跨平台性。

    C++主要用于与硬件设备相关的程序、教学和研究、系统的用户接口等。

    七种基本C++数据类型:bool, char, int, float, double, void, wchar_t.

    一些基本类型可以使用一个或多个类型修饰符进行修饰: signed, unsigned, short, long.

    变量的长度会因为编译器和电脑的不同而不同,想确定变量的长度的时候,可以使用sizeof()函数来确定。例如sizeof(int),sizeof(bool)等。

    想确定最大值和最小值可以用(numeric_limits<类型>::max)()和(numeric_limits<类型>::min)()来确定,例如(numeric_limits<unsigned char>::max)(),(numeric_limits<size_t>::min)()。

    枚举类型限定变量的值,当变量只有几种可能的值的时候,使用枚举类型。如果枚举类型没有赋初始值的时候,枚举类型默认从0开始,依次加1。

    enum color { red, green=5, blue };

    这里,red=0;green=5;blue=6;

    左值(lvalue):指向内存位置的表达式被称为左值(lvalue)表达式。左值可以出现在赋值号的左边或右边。

    右值(rvalue):指的是存储在内存中某些地址的数值。右值是不能进行赋值的表达式,也就是说,右值可以出现在赋值号的右边,但不能出现在赋值号的左边。

    三种变量:局部参数,形式参数,全局变量。

    局部变量被定义时,系统不会对其执行初始化,必须自行对其初始化。定义全局变量时,系统会自动初始化为下列值:

    C++中整数后面加U或u代表无符号整数常量。后面加L代表长整数常量。0x前缀代表十六进制。以大写L开头,后面用单引号括起来的字符为宽字符常量(如L'x')。

    C++中的bool类型对应的true和false都是小写。

    C++中定义常量的两种方式:#define预处理器和const关键字。

    例如:

    #define LENGTH 10
    const int LENGTH=10;
    

      通常习惯将常量定义为大写字母。

    限定符:

    const const 类型的对象在程序执行期间不能被修改改变。
    volatile 修饰符 volatile 告诉编译器不需要优化volatile声明的变量,让程序可以直接从内存中读取变量。对于一般的变量编译器会对变量进行优化,将内存中的变量值放在寄存器中以加快读写效率。
    restrict 由 restrict 修饰的指针是唯一一种访问它所指向的对象的方式。只有 C99 增加了新的类型限定符 restrict。

    volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。

    参考:https://www.cnblogs.com/reality-soul/p/6140192.html

  • 相关阅读:
    Vue 之 mixin的用法
    react 初学之 jsx ,prop。state
    前端清除缓存的集中方法
    关于event被废弃后的新实用方法
    JS获取字符串的字节长度
    getPopupContainer解决ant-design-vue select组件下拉框偏移错位
    frameset标签使用
    浏览器内核
    两种多关键字排序代码
    两种多关键字排序策略比较
  • 原文地址:https://www.cnblogs.com/kgtone/p/9589390.html
Copyright © 2011-2022 走看看