zoukankan      html  css  js  c++  java
  • C++小整理

    整型字面值

     0开头为八进制 

    020=2*8+4=20

     0x开头为十六进制

    0x14=1*16+4=20

    字面值的整数常量默认是int或者long

    宽字符

    #include<locale.h>
    
    #include<wchar.h>
    
    #include<stdlib.h>
    
    wchar_t  y=L'';
    
    //设置属性
    
    setlocale(LC_ALL,"chs");
    
    wprintf(L"%lc
    ",L'');

    创建常量的通用格式

    const type name=value;

    强制转换的通用格式

    typeName (value)
    

     声明数组的通用格式

    typeName arrayName[arraySize];
    

    short months[12];

    将char数组视为一组用于存储一个字符串的char存储单元

    string类变量是一个表示字符串的实体

    string类

    strcpy()

    将字符串赋值到字符数组中

    strcat()

    将字符串附加到字符数组末尾
    

     

    struct结构体

    结构标记的用法与基本类型名相同,结构声明定义了一种新类型

    可以使用成员运算符( . )来访问各个成员

    可以同时完成定义结构和创建结构变量的工作,只需将变量名放在结束括号的后面即可

    struct perks
    {
            int key_number;
            char car[12];
    }mr_smith,ms_jones;

    共用体

    共用体union是一种数据格式,能够存储不同的数据类型,但只能同时存储其中的一种类型

    共用体每次只能存储一个值,因此它必须有足够的空间来存储最大的成员,所以共用体的长度为其最大成员的长度

    用途之一:当数据项使用两种或更多种格式(但不会同时使用)时,可节省空间

    例如:假设管理一个小商品目录,其中有一些商品的ID为整数,而另一些的ID为字符串,在这种情况下可以这样做

    共用体常用于(但并非只能用于)节省内存,当前系统的内存多达数GB甚至数TB,好像没有必要节省内存,但并非所有的C++程序都是为这样的系统编写的

    C++还用于嵌入式系统编程,如控制烤箱等,对这些应用来说内存非常宝贵,共用体常用于操作系统数据结构或硬件数据结构

    指针和自右存储空间

    计算机程序在存储数据时必须跟踪的3种基本属性

    1. 信息存储在何处

    2. 存储的值为多少

    3. 存储的信息是什么类型

    指针是一个变量,其存储的是值的地址,而不是值本身

    指针名表示的是地址

    manly是一个指针
    manly表示的是一个地址
    *manly表示存储在该地址处的值
    
    int m=23int *p=&m;
    //m和*p是一样的--->23
    //&m和p是一样的--->地址

    注意

    int *p;
    
    强调*p是一个int类型,C程序员使用
    
    int* p;
    
    强调int*是一种类型----指向int的指针,C++使用这种格式
    
    
    
    int* p1,p2;
    
    声明创建一个指针p1和一个int变量p2
    
    对每个指针变量名,都需要使用一个*
    
    在C++中,int*是一种复合类型,是指向int的指针

    C++创建指针时,计算机将分配从来存储地址的内存,但不会分配用来存储指针所指向的数据内存

    警告:一定要在对指针应用解除引用运算符(*)之前,将指针初始化为一个确实的,适当的地址

    变量是在编译时分配的有名称的内存,而指针只是为可以通过名称直接访问的内存提供了一个别名

    指针真正的用武之地在于  在运行阶段分配未命名的内存以存储值

    使用new分配内存

    告诉new需要为哪种数据类型分配内存;new将找到一个长度正确的内存块,并返回该内存的地址,将该地址赋给一个指针

    int* pn=new int;

    pn指向的内存没有名字,指向的是为数据项分配的内存块

    为一个数据对象获得并制定分配内存的通用格式如下

    typeName * pointer_name=new typeName;

    使用delete释放内存

    int * p=new int;
    delete p;

    这将释放p指向的内存,但不会删除指针p本身

    一定要配对的使用new和delete,否则会发生内存泄漏(也就是说被分配的内存再也无法使用了,如果内存泄漏严重,则程序将由于不断寻找更多的内存而终止)

    引用

    引用必须初始化,引用类型的初始值必须是一个对象

    赋值永远改变等号左侧的对象

  • 相关阅读:
    SQL语法分类
    SQL语法入门
    数据库的基本对象
    数据库基础
    数据库概述
    设计模式之备忘录模式
    设计模式之State模式
    设计模式之装饰模式
    简单工厂模式
    初识C#设计模式
  • 原文地址:https://www.cnblogs.com/yangyuqing/p/10516216.html
Copyright © 2011-2022 走看看