new 分配的数据类型:内置数据类型、自定义数据类型。

如果不成功,则 new 将返回零或引发异常;编写自定义异常处理例程并调用 _set_new_handler运行库函数(以您的函数名称作为其参数),可更改此默认行为。

new 为 C++ 类对象分配内存时,将在分配内存后调用对象的构造函数。仅当类具有默认构造函数时,new 运算符才会创建对象的数组。

分配多维数组时,除第一个维度之外的所有维度必须是计算结果为正值的常量表达式;最左侧的数组维度可以是计算结果为正值的任何表达式。new 运算符分配数组时,第一个维度可为零 ,此时new 运算符返回一个唯一指针。

例子:分配一个二维数组,然后释放,数组的大小为 zhm x 10

    1、char (*p)[10] = new char[zhm][10]; delete[] p;

    2、int m=2,n=3; int **p = new int*[m]; for(int i=0;i<m;i++)  p[i] = new int[n];  ... for(int i=0;i<m;i++) delete[] p[i]; delete[] p;

    3、如果 2 这样写:int **p ; p =new int* [m] ;  for(int i=0;i<m;i++)  p[i] = new int[n]; 万万不可写成: (*p) =new int [m] ;

变量不能包含 const、volatile、类声明或枚举声明。 非法:volatile char * p = new volatile char[10];

new 运算符不会分配引用类型,因为这些类型不是对象。

new 运算符无法用于分配函数,但可用于分配指向函数的指针。 下面的示例 为 返回整数的函数 分配一个包含 7 个指针的数组,然后释放。

    int (**p)() = new (  int (*[7])()   ); delete *p;

    

C++ new运算符的更多相关文章

  1. shell运算符

    原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用. expr 是一款表达式计算工具,使用它能完成表达式的求值操作. #!/bin/bash v ...

  2. SQL Server-聚焦APPLY运算符(二十七)

    前言 其实有些新的特性在SQL Server早就已经出现过,但是若非系统的去学习数据库你会发现在实际项目中别人的SQL其实是比较复杂的,其实利用新的SQL Server语法会更加方便和简洁,从本节开始 ...

  3. java中的移位运算符:<<,>>,>>>总结

    java中有三种移位运算符 <<      :     左移运算符,num << 1,相当于num乘以2 >>      :     右移运算符,num >& ...

  4. 我的MYSQL学习心得(五) 运算符

    我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  5. .NET 基础 一步步 一幕幕[运算符、占位符、转义符]

      运算符.占位符.转义符 好吧,在五局全胜之后,终于升到了三个钻,距离一个星星还有一大段距离,忽然想起来今天的博客还没写,果断坑队友,来写博客了....感觉以后还是每天更新一篇比较好.要不晚上就该熬 ...

  6. ECMASCript2015 提案 stage-3的对象展开运算符

    看源码时看到如下的代码 export default { //通过mapActions将actions映射到methods里 methods: { ...mapActions([ 'updateSta ...

  7. JavaScript权威设计--JavaScript表达式与运算符,语句(简要学习笔记六)

    1.delete是一元操作符,用来删除对象属性或者元素. var a={ x:1, y:2 } delete a.x; //删除x属性 “x”in a //false:a对象中已经不存在x属性 ale ...

  8. JavaScript权威设计--JavaScript表达式与运算符(简要学习笔记五)

    1.3种原始表达式     1.直接量:    1.23    //数字直接量                         “hello”    //字符串直接量                 ...

  9. LINQ to SQL语句(18)之运算符转换

    运算符转换 1.AsEnumerable:将类型转换为泛型 IEnumerable 使用 AsEnumerable<TSource> 可返回类型化为泛型 IEnumerable 的参数.在 ...

  10. El表达式的关系运算符

    El表达式的关系运算符: ==  对应  eq !=   对应  ne >    对应  gt <    对应  It

随机推荐

  1. [No0000DA]WPF ControlTemplate简介

    一.简介 WPF包含数据模板和控件模板,其中控件模板又包括ControlTemplate和ItemsPanelTemplate,这里讨论一下ControlTemplate.其实WPF的每一个控件都有一 ...

  2. MySQL5.6启动报错The server quit without updating PID file

    Mysql启动报错如下: [root@db01 opt]# service mysqld start Starting MySQL.... ERROR! The server quit without ...

  3. java中组合与聚合(聚集)的区别

    组合和聚合是有很大区别的,这个区别不是在形式上,而是在本质上:  组合:比如A类中包含B类的一个引用b,当A类的一个对象消亡时,b这个引用所指向的对象也同时消亡(没有任何一个引用指向它,成了垃圾对象) ...

  4. 以CENTOS6.8系统为例部署ORACLE11g RAC和DNS配置

    本文所需要的全部文档均位于文末附录中 本文章以两个节点为例进行安装 在virtual box创建虚拟机时,网卡1为桥接网卡,网卡二为仅主机模式 创建两块磁盘,模式设置为可共享,都添加到两个虚拟机中 在 ...

  5. Java之旅_高级教_集合框架

    摘自:http://www.runoob.com/java/java-collections.html Java 集合框架 早在Java2之前,java 就提供了特设类.比如:Dictionary,V ...

  6. HBase系列文章(转)

    HBase概念学习(一)基本架构 HBase概念学习(二)JAVA API操作概览 HBase概念学习(三)Java API之CRUD(增查改删) HBase概念学习(四)Java API之扫描和过滤 ...

  7. Hibernate 和 MyBatis 的区别

    Hibernate 和 MyBatis 的增.删.查.改,对于业务逻辑层来说大同小异,对于映射层而言 Hibernate 的配置不需要接口和 SQL,相反 MyBatis 是需要的.对于 Hibern ...

  8. 10.4-uC/OS-III内部任务(空闲任务OS_IdleTask())

    1.内部任务-空闲任务 在uC/OS-III初始化的时候,它会创建至少2个内部的任务(OS_IdleTask()和OS_TickTask()), 3个可选择的任务 ( OS_StatTask(),OS ...

  9. 如何在Digital Ocean上申请服务器的教程

    本文会详细叙述如何在digital ocean上注册.申请.创建以及配置服务器,亲测有效. what's the Digital Ocean ? 根据度娘释义,Digital Ocean是digita ...

  10. node学习系列 搭建express

    搭建express express官网API http://expressjs.com/zh-cn/ 1.在文件夹下新建一个packages.json文件 内容为: {} 然后执行 yarn add ...