• C5.cpp


    1. (1)不要使用delete来释放不是new分配的内存(2)不要使用delete来释放同一个内存块两次(3)若用new[]分配内存 ,则应该用delete[]来释放(4)若用new分配内存 ,则应该用delete来释放(5)对空指针应用delete是安全
    2. 不能使用sizeof运算符来确定动态数组包含的字节数
    3. 指针的值可以修改,但是数组名是常量不能修改
    4. 对数组应用sizeof得到的是数组的长度,但是对指针应用的话得到的是指针的长度,即使指针指向的是一个数组
    5. 对于char*类型的变量一定要使用强制类型转换符int*才能够输出地址
    6. 如果结构标识符是结构本身就使用句点运算符,如果是指针的话就用箭头运算符
    7. 管理数据内存的方式:自动(局部变量LIFO),静态(在函数外定义它或者使用的是tatic),动态(内存池==存储空间+堆------------new和delete----------在内存中不连续使得跟踪新分配内存 位置更加困难)
    8. 内存泄漏:用new分配完内存空间后忘记用delete释放,即使含指针的内存由于作用域规则和对象生命周期的原因而被释放,那么这片内存在以后仍然无法被使用(这有时会产生很严重的影响)
    9. Vector:(1)包含头文件<vector> (2)在namespace名称空间中(3)使用不同的语法来指出它存储的数据类型(4)vector使用不同的语法来指定元素数
    10. vector<typename>vt(n_elem)功能虽然强大但是效率很低
    11. array长度固定,静态的内存,效率与数组相同,需要包含头文件<array>
    12. array<typename,n_elem>a;n_elem不能是变量
    13. **用法

    struct a{

    int x;

    }a1,a2,a3;

    int main()

    {

    a1.x=1;

    a2.x=3;

    a3.x=5;

    a *s[3];-----------------------------------------------------s是一个指针数组

    s[0]=&a1;

    s[1]=&a2;

    s[2]=&a3;

    a**p=s;----------------------p是指向指针数组的指针,那么*p就是结构指针

    cout<<(*p)->x;;

    }

    你若盛开,清风自来...
  • 相关阅读:
    Prototype源码浅析——Object部分(一)
    JS构建页面的DOM节点结构(二)
    Prototype源码浅析——Object部分(二)之类型检测
    createElement与createDocumentFragment的点点区别
    Prototype源码浅析——Function.prototype部分(二)
    CSS3月食
    javascript管中窥豹——形参与实参
    JS获取整个页面的文档
    2012年总结
    Windows下Android环境搭建(最新最方便)
  • 原文地址:https://www.cnblogs.com/shangjindexiaoqingnian/p/6394169.html
Copyright © 2020-2023  润新知