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;;

}

C5.cpp的更多相关文章

  1. recovery uncrypt功能解析(bootable/recovery/uncrypt/uncrypt.cpp)

    我们通常对一个文件可以直接读写操作,或者普通的分区(没有文件系统)也是一样,直接对/dev/block/boot直接读写,就可以获取里面的数据内容了. 当我们在ota升级的时候,把升级包下载到cach ...

  2. 使用“Cocos引擎”创建的cpp工程如何在VS中调试Cocos2d-x源码

    前段时间Cocos2d-x更新了一个Cocos引擎,这是一个集合源码,IDE,Studio这一家老小的整合包,我们可以使用这个Cocos引擎来创建我们的项目. 在Cocos2d-x被整合到Cocos引 ...

  3. Json CPP 中文支持与入门示例

    在每一个Json Cpp自带*.cpp文件头加上: #include "stdafx.h" 将Json Cpp对自带的头文件的引用修改为单引号方式,例如json_reader.cp ...

  4. cpp 调用python

    在用cpp调用python时, 出现致命错误: no module named site  ,  原因解释器在搜索路径下没有找到python库.可以在调用Py_Initialize前,调用 Py_Se ...

  5. nginx+fastcgi+c/cpp

    参考:http://github.tiankonguse.com/blog/2015/01/19/cgi-nginx-three/ 跟着做了一遍,然后根据记忆写的,不清楚有没错漏步骤,希望多多评论多多 ...

  6. APM程序分析-ArduCopter.cpp

    该文件是APM的主文件. #define SCHED_TASK(func, rate_hz, max_time_micros) SCHED_TASK_CLASS(Copter, &copter ...

  7. APM程序分析-AC_WPNav.cpp

    APM程序分析 主程序在ArduCopter.cpp的loop()函数. /// advance_wp_target_along_track - move target location along ...

  8. Dev Cpp 输出中文字符问题

    最近 c++ 上机作业,vc++6.0 挂了没法用,只好用 Dev Cpp 先顶替一下,然而在遇到输出中文字符的时候出现了乱码的情况,但这种情况又非常诡异.于是简单了解了一下写成此博客. [写在前面] ...

  9. 【安卓】aidl.exe E 10744 10584 io_delegate.cpp:102] Error while creating directories: Invalid argument

    这几天在使用.aidl文件的时候eclipse的控制台总是爆出如下提示: aidl.exe E 10744 10584 io_delegate.cpp:102] Error while creatin ...

随机推荐

  1. uniapp如何将微信小程序API封装为Promise

    var SYNC_API_RE = /requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$/; var CALL ...

  2. Vue基础之内部指令(下)

    v-on绑定事件监听器 直接撸代码: <div id="app"> <h2>计数器</h2> number:{{number}} <but ...

  3. win10 + ubuntu 16.04 双系统安装

    第一次写博客,有错的请指教emmmm 这是因为老师的要求在做课程设计,要用到ubuntu环境,对于这个来说,学长说的是14 16 18都很稳定,但是他在用16.04所以我也用的ubuntu16.04方 ...

  4. 配置https and http2 local本地开发环境

    今天,几乎所有你访问的网站都是受HTTPS保护的.如果你还没有这样做,是时候这样做了.使用HTTPS保护您的服务器也就意味着您无法从非HTTPS的服务器发送请求到此服务器.这对使用本地开发环境的开发人 ...

  5. 上手d3js

    0---什么是d3js: d3js是一个开源的,基于对svg操作的数据可视化框架,简单的说他提供了数据提供了一系列的数据可视化工具,可以用他很方便的创造出关于svg的动画:svg动画具有可伸缩,不失真 ...

  6. 前端基础:canvas概述

    1:并不是所有的浏览器都支持canvas,若是不支持则浏览器会弹出 <canvas>Update your browser to enjoy canvas</canvas> 浏 ...

  7. CRM-展示列表,分页功能

    目录 一.admin (创建超级用户) 二.展示列表 三.分页(封装成类)   一.admin (创建超级用户) 1.注册: 1.创建一个超级管理员,使用如下命令: python manage.py ...

  8. myql 格式化日期

    date_format(a.balance_date,'%Y-%m')= date_format(#{balanceDate},'%Y-%m')

  9. iOS Simulator 模拟器 与 Android Emulator 仿真器:为什么叫不同的英文名字?(待补充)

    iOS Simulator 模拟器 与 Android Emulator 仿真器:为什么叫不同的英文名字?(待补充)

  10. 1、IT人思维之投资开篇 - IT人思维之投资

    在IT圈中,很多人的认识就只在于工作中获取收益,这个观点是狭隘的,本身就不符合投资领域的内容.所以,在工作之余,笔者就对投资领域的内容进行的分析和收集整理相关的投资方面的内容,一方面对笔者自己的投资方 ...