21天学通C++_Day6

0、指针&数组

数组是指向其第一个元素的指针,即数组变量就是指针。故可将(*)用于数组,也可将([])用于指针,eg:

int MyNums[5] = {0};

int* pNums = MyNums;

可以使用*(MyNums+1),也可以使用pNums[1]。

1、指针使用时要注意的点

①务必初始化指针变量为NULL;

②使用前要确认指针是否有效(检查是否为NULL);

③new和delete要配套,不然会造成内存泄露;

2、检查new发出的分配请求是否满足

法一:使用异常处理,catch(bad_alloc)

 1 #include "stdafx.h"
 2 #include <iostream>
 3 using namespace std;
 4
 5 int main()
 6 {
 7     try
 8     {
 9         int* pAge = new int [536870911];
10         delete[] pAge;
11     }
12     catch(bad_alloc)
13     {
14         cout<<"Error!"<<endl;
15     }
16
17     return 0;
18 }

法二:new(nothrow)

 1 #include "stdafx.h"
 2 #include <iostream>
 3 using namespace std;
 4
 5 int main()
 6 {
 7
 8     int* pAge = new(nothrow) int [536870911];
 9     if(pAge)
10     {
11         delete[] pAge;
12     }
13     else
14         cout<<"Error!"<<endl;
15
16     return 0;
17 }

3、引用==别名

引用,可以访问相应变量的内存单元。

时间: 2024-10-25 22:54:40

21天学通C++_Day6的相关文章

21天学通Visual.Basic pdf

下载地址:网盘下载 <21天学通Visual Basic(第2版)>是Visual Basic 6.0的入门教程,主要针对没有程序设计基础的读者,详细介绍了Visual Basic 6.0的基本概念和编程技术.书中通过大量的范例及综合练习来介绍Visual Basic 6.0的基本概念.语言特点.基本的程序设计方法,以及小型应用程序的设计步骤.<21天学通Visual Basic(第2版)>在内容讲解上力求形象生动.深入浅出,使读者能够较为轻松地理解基本概念.读者可以在较短时间内通

福利分享:《21天学通Python》电子书籍分享

本书共分三篇 第一篇介绍Python语言的特点.安装.语法基础.程序流程控制.面向过程的编程方法.面向对象的编程方法.程序异常的处理: 第二篇介绍了Python语言中的包与模块.迭代器.生成器.装饰器.上下文管理器等进阶语法,同时介绍了使用Python标准库中的文件系统处理.图形化界面编程.正则表达式.网络编程.多进(线)程编程.数据库编程.此外,还介绍了运用第三方库的Web网站编程.图片处理: 第三篇通过两个案例介绍Python的综合编程技术. 在内容上涉及面广,从基本操作到高级技术及综合案例

21天学通Python笔记(一)

一. 如果含中文: 1.要不在文件头加上:   # coding=gbk 2.要不文件改为         以UTF-8无BOM格式编码 二. python区分大小写 python可以单双引号相互嵌套而不用转义 python程序要求最好是全部使用缩进来分层 行尾的":"表示下一行代码缩进的开始,如果缩进行只有一条语句,也可以直接写在":"之后的 处于同一级的代码所尽量要保持一致 python的编程规范指出:缩进最好采用空格的形式,每一层最好向右缩进4个空格 单行注释

21天学通Python笔记(二)

五. >>> def hello(): print('123123') >>> hello() 123123 >>> def hello1(v): print(v) return v >>> a = hello1(123) 123 >>> a 123 >>> def hello2(v1, v2): print(v1) return v2 >>> b = hello2(1, 3) 1

《21天学通C#》Write和WriteLine的区别

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks; namespace WriteLine和Write的区别{ class Program { static void Main(string[] args) { //WriteLine输出后鼠标显示在下一行开头 //Write输出后不开始一个新行 System.Console.

12篇学通C#网络编程

转自:http://www.cnblogs.com/huangxincheng/archive/2012/01/03/2310779.html 在C#的网络编程中,进程和线程是必备的基础知识,同时也是一个重点,所以我们要好好的掌握一下. 一:概念 首先我们要知道什么是"进程",什么是"线程",好,查一下baike. 进程:是一个具有一定独立功能的程序关于某个数据集合的一次活动.它是操作系统动态执行的基本单元, 在传统的操作系统中,进程既是基本的分配单元,也是基本的执

转载8天学通MongoDB——第一天 基础入门

关于MongoDB的好处,优点之类的这里就不说了,唯一要讲的一点就是mongodb中有三元素:数据库,集合,文档,其中"集合" 就是对应关系数据库中的"表","文档"对应"行". 一: 下载 上MongoDB官网 ,我们发现有32bit和64bit,这个就要看你系统了,不过这里有两点注意: ①:根据业界规则,偶数为"稳定版"(如:1.6.X,1.8.X),奇数为"开发版"(如:1.7.X

【转载】8天学通MongoDB——第八天 驱动实践

作为系列的最后一篇,得要说说C#驱动对mongodb的操作,目前驱动有两种:官方驱动和samus驱动,不过我个人还是喜欢后者, 因为提供了丰富的linq操作,相当方便. 官方驱动:https://github.com/mongodb/mongo-csharp-driver/downloads.下载后,还提供了一个酷似msdn的帮助文档. samus驱动:https://github.com/samus/mongodb-csharp/downloads. 下面就具体看看samus驱动,https:

【转载】8天学通MongoDB——第三天 细说高级操作

今天跟大家分享一下mongodb中比较好玩的知识,主要包括:聚合,游标. 一: 聚合 常见的聚合操作跟sql server一样,有:count,distinct,group,mapReduce. <1> count count是最简单,最容易,也是最常用的聚合工具,它的使用跟我们C#里面的count使用简直一模一样. <2> distinct 这个操作相信大家也是非常熟悉的,指定了谁,谁就不能重复,直接上图. <3> group 在mongodb里面做group操作有点