晚上被问到一个C++的问题:

int **pa=new int* [5];

int *pb=new (int*)[5];

上面两行代码的差别是什么?

分析与实验结果例如以下:

(1)第一行代码能够在VS2010上正常执行,new出来的是一个存放int型指针变量的数组。能够存放5个这种元素。

而第二行代码则编译错误。悲剧的是VS2010在编译之前并未红线提示错误。

(2)设计了例如以下两行代码,当中第一行正常,第二行提示错误,没有定义的pbb标识符,猜測加括号后未体现类型的作用,故pbb仍没有定义。

int* paa[5];

(int*) pbb[5];

(3)经过第二步,基本确定(int*)不再是类型,而是将某对象进行强制类型转换。

在查阅操作符优先级的过程中。发现new的优先级要低于类型转换操作符的优先级,故更加确定原问题第二行代码的(int*)会优先运行,不再是int*类型。

int*与(int*)的差别相关推荐

  1. const int * 、int * const、int const* 、const int a(){ } 和int a()const { }的区别和联系

    前言:很多人都把const int * .int * const.int const* 的区别和联系搞混,我自己在学习C++的过程中,也经常性          弄不 清楚,今天特意总结一下,作为学习 ...

  2. int main(int argc,char *argv[]),主函数的参数问题

    主函数的参数 在VC++中,我们有时候看到一些程序的主函数是带有参数的,虽然我们经常用到VC++但是对主函数的参数并不是很理解: int main(int argc,char *argv[]) 对于里 ...

  3. 关于int main( int argc, char* argv[] ) 中arg和argv参数理解

    在示例程序中经常可以看到argc和argv这两个参数 ,在调试代码过程中遇到main函数为int main( int argc, char* argv[] ) 这种类型时往往会报错,或者是运行起来了但 ...

  4. java write_java中write(byte[] b)与write(byte[] b,int off,int len)区别

    在项目中要上传文件或者图片 private static final int BUFFER_SIZE = 16 * 1024; private static void copy(File src, F ...

  5. 基于java的InputStream.read(byte[] b,int off,int len)算法学习!

    public int read(byte[] b,int off,int len)throws IOException 将输入流中最多 len 个数据字节读入字节数组.尝试读取多达 len 字节,但可 ...

  6. 有关(int)和(int)的区别

    先看一段程序 #include "stdafx.h" #include <iostream> using namespace std; int _tmain(int a ...

  7. int main( int argc , char *argv[] , char *envp[] )中参数解说

    原文链接:https://blog.csdn.net/mengyandelove/article/details/82285504 argc是命令行总的参数个数 argv[]是argc个参数,其中第0 ...

  8. 如何将C#nullable int转换为int

    如何将可空int转换为int ? 假设我有两种类型的int,如下所示: int? v1; int v2; 我想将v1的值分配给v2 . v2 = v1; 会导致错误. 如何将v1转换为v2 ? #1楼 ...

  9. 深入解剖unsigned int 和 int

    就如同int a:一样,int 也能被其它的修饰符修饰.除void类型外,基本数据类型之前都可以加各种类型修饰符,类型修饰符有如下四种: 1.signed----有符号,可修饰char.int.Int ...

最新文章

  1. java线程开启不了_Java中多线程启动,为什么调用的是start方法,而不是run方法?...
  2. 对象存储、块存储、文件存储的区别
  3. tomcat的log日志乱码解决方案
  4. linux安装字体后wps无法打开,Ubuntu安装WPS后提示缺失字体怎么办?
  5. stata中计算公式命令_珠联璧合:把Jupyter Notebook 作为stata的IDLE
  6. 增加myEclipse的非堆内存
  7. python 表达式求值数据结构_python 数据结构与算法
  8. arduino char*转string_Java 中 String 类的常用方法汇总
  9. Mysql Grant 用户权限总结(详细编)
  10. java开发区块链_使用Java语言从零开始创建区块链
  11. mysql 小数转换成百分数查出(保留两位小数百分数)
  12. 渣男论(跟技术无关,随笔而已)——一蓑烟雨任平生
  13. phpstudy以及DVWA安装使用
  14. 分数加减乘除混合运算带答案_给我出50道分数加减乘除四则混合运算题(只需题目不需答案)...
  15. Cracking the Wall of Confinement: Understanding and Analyzing Malicious Domain Take-downs
  16. Android10 HAL模块的实现
  17. 【Arduino 连接 SD 卡模块实现数据读写】
  18. php smtp发送邮件
  19. 『Hadoop』MapReduce 处理 日志log(单机版)
  20. http://nianjian.xiaze.com/tags.php?/%E6%BD%BC%E5%85%B3%E5%B9%B4%E9%89%B4/1/13595315666/

热门文章

  1. GDCM:检索dicom文件中某个位置存在的Icon测试程序
  2. GDCM:检测SIEMENS JPEG无损压缩图像的测试程序
  3. VTK:RenderMan之PolyDataRIB
  4. VTK:相互作用之RubberBandZoom
  5. VTK:Filtering之ExtractVisibleCells
  6. OpenCV霍夫直线houghlines点集的实例(附完整代码)
  7. OpenCV转换PyTorch分类模型并使用OpenCV Python启动
  8. C语言实现链表栈 LinkedListStack(附完整源码)
  9. c++中的引用和指针
  10. QT的QLinkedList类的使用