C5.cpp
- (1)不要使用delete来释放不是new分配的内存(2)不要使用delete来释放同一个内存块两次(3)若用new[]分配内存 ,则应该用delete[]来释放(4)若用new分配内存 ,则应该用delete来释放(5)对空指针应用delete是安全
- 不能使用sizeof运算符来确定动态数组包含的字节数
- 指针的值可以修改,但是数组名是常量不能修改
- 对数组应用sizeof得到的是数组的长度,但是对指针应用的话得到的是指针的长度,即使指针指向的是一个数组
- 对于char*类型的变量一定要使用强制类型转换符int*才能够输出地址
- 如果结构标识符是结构本身就使用句点运算符,如果是指针的话就用箭头运算符
- 管理数据内存的方式:自动(局部变量LIFO),静态(在函数外定义它或者使用的是tatic),动态(内存池==存储空间+堆------------new和delete----------在内存中不连续使得跟踪新分配内存 位置更加困难)
- 内存泄漏:用new分配完内存空间后忘记用delete释放,即使含指针的内存由于作用域规则和对象生命周期的原因而被释放,那么这片内存在以后仍然无法被使用(这有时会产生很严重的影响)
- Vector:(1)包含头文件<vector> (2)在namespace名称空间中(3)使用不同的语法来指出它存储的数据类型(4)vector使用不同的语法来指定元素数
- vector<typename>vt(n_elem)功能虽然强大但是效率很低
- array长度固定,静态的内存,效率与数组相同,需要包含头文件<array>
- array<typename,n_elem>a;n_elem不能是变量
- **用法
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的更多相关文章
- recovery uncrypt功能解析(bootable/recovery/uncrypt/uncrypt.cpp)
我们通常对一个文件可以直接读写操作,或者普通的分区(没有文件系统)也是一样,直接对/dev/block/boot直接读写,就可以获取里面的数据内容了. 当我们在ota升级的时候,把升级包下载到cach ...
- 使用“Cocos引擎”创建的cpp工程如何在VS中调试Cocos2d-x源码
前段时间Cocos2d-x更新了一个Cocos引擎,这是一个集合源码,IDE,Studio这一家老小的整合包,我们可以使用这个Cocos引擎来创建我们的项目. 在Cocos2d-x被整合到Cocos引 ...
- Json CPP 中文支持与入门示例
在每一个Json Cpp自带*.cpp文件头加上: #include "stdafx.h" 将Json Cpp对自带的头文件的引用修改为单引号方式,例如json_reader.cp ...
- cpp 调用python
在用cpp调用python时, 出现致命错误: no module named site , 原因解释器在搜索路径下没有找到python库.可以在调用Py_Initialize前,调用 Py_Se ...
- nginx+fastcgi+c/cpp
参考:http://github.tiankonguse.com/blog/2015/01/19/cgi-nginx-three/ 跟着做了一遍,然后根据记忆写的,不清楚有没错漏步骤,希望多多评论多多 ...
- APM程序分析-ArduCopter.cpp
该文件是APM的主文件. #define SCHED_TASK(func, rate_hz, max_time_micros) SCHED_TASK_CLASS(Copter, &copter ...
- APM程序分析-AC_WPNav.cpp
APM程序分析 主程序在ArduCopter.cpp的loop()函数. /// advance_wp_target_along_track - move target location along ...
- Dev Cpp 输出中文字符问题
最近 c++ 上机作业,vc++6.0 挂了没法用,只好用 Dev Cpp 先顶替一下,然而在遇到输出中文字符的时候出现了乱码的情况,但这种情况又非常诡异.于是简单了解了一下写成此博客. [写在前面] ...
- 【安卓】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 ...
随机推荐
- 百战程序员——JDBC
JDBC全称是什么? JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Jav ...
- 对于Vue的v-if 和 v-showi
V-if : 1. 是条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当的被销毁和重建. 2. 是惰性的,如果初始渲染条件为假,则什么都不做,直到条件第一次变为真的时候,开开始渲染 ...
- Python3常用函数、方法总结(持续更新…)
最近刷LeetCode,自己自娱自乐完之后去discussion看大佬们的各种巧妙解法,总是止不住的双击666--加上最近Python3用的比较多(虽然Python实在不推荐跑算法题目,一是运行效率太 ...
- redis五种数据类型和常用命令及适用场景
一.redis的5种数据类型: 1.基础理解: string 字符串(可以为整形.浮点型和字符串,统称为元素) list 列表(实现队列,元素不唯一,先入先出原则) set 集合(各不相同的元素) h ...
- 08机器学习实战之BP神经网络
1. 背景: 1.1 以人脑中的神经网络为启发,历史上出现过很多不同版本 1.2 最著名的算法是1980年的 backpropagation 2. 多层向前神经网络(Multil ...
- springboot2.0 springcloud 断路器仪表盘支持
springboot 1.5 的时候 springcloud 添加 断路器仪表盘 按照网上的方法是没有问题的 但是 springboot2.0的时候一直无法连接 所以需要添加 @Beanpubl ...
- 使用Let's Encrypt搭建永久免费的HTTPS服务
1.概述1.1 HTTPS概述HTTPS即HTTP + TLS,TLS 是传输层加密协议,它的前身是 SSL 协议.我们知道HTTP协议是基于TCP的.简而言之HTTPS就是在TCP的基础上套一层TL ...
- Win10安装docker的一些注意事项
安装环境:Win10专业版本64位,Win7.Win8 等需要利用 docker toolbox 来安装. 一.占用C盘空间问题的解决 1. 把vhdx虚拟硬盘从默认的C盘转移到其他盘,这样下载镜像后 ...
- Windows 7 X64平台编译LLVM+clang
1 源码包 去LLVM官方网站下载最新的源码,Windows平台下载三个即可(2019.04.24版本为LLVM 8.0.0): LLVM source code (.sig) Clang sourc ...
- Spring Data Solr相关配置
1.增加Maven POM文件的存储库:pom配置如下: <repositories> <repository> <id>spring-milestone</ ...