http://blog.csdn.net/devfun/article/details/6900086

昨天我试图将一个封装好的模块加入到正在开发的项目中,这个模块不是单独的类,而且对应的声明和实例。
在处理过程中发现了如下问题。

由于我自己写代码的时候,在变量初始化的时候总会做

Object *abc;
abc = null; //我会初始化一下指针,将其置为空
abc = new Object[N];

的操作,所以一直 没有注意到。但新的第三方模块名没有这步操作。

Object *abc;
//abc = null; //第三方模块不会有置空这一步。
abc = new Object[N];

于是当new地址的时候,总会报错,我跟过去abc的地址总为0xcdcdcd。

去网上搜,发现这个0xcdcdcd是表示未被初始化的地址,为一个非法地址,必须置空。于是我就很困惑,因为第三方模块并没有地方置空,但在其实例上可以正常运行,于是我就怀疑可能是该实例在初始化模块所属类的时候,将其申请成静态的,于是同为跟代码,最后发现该模块所属类的new通过operator new重写了new方法,这样在每次申请的时候就会有个固定的空间用于存放数据。

这样儿做的好处是同时也可以检测内存大小~

关于C++项目指针对象未被初始化的问题(0xcdcdcd)的更多相关文章

  1. void指针、NULL指针和未初始化指针

    一个指针可以被声明为void类型,比如void *x.一个指针可以被赋值为NULL.一个指针变量声明之后但没有被赋值,叫做未初始化指针. 1 2 3 4 5 6 7 8 9 10 11 12 13 1 ...

  2. 不可或缺 Windows Native (18) - C++: this 指针, 对象数组, 对象和指针, const 对象, const 指针和指向 const 对象的指针, const 对象的引用

    [源码下载] 不可或缺 Windows Native (18) - C++: this 指针, 对象数组, 对象和指针, const 对象,  const 指针和指向 const 对象的指针, con ...

  3. effective c++:尽量替换define,确保对象使用前初始化

    #define ASPECT_RATIO 1.653 名为ASPECT_RATIO的值在预编译阶段被替换成1.653,如果在这个常量上出现编译错误,我们可能会困惑1.653的值是什么意思,于是将因为跟 ...

  4. C/C++之全局、static对象/变量的初始化问题

    关于全局.static对象/变量的初始化问题 1. 全局变量.static变量的初始化时机:main()函数执行之前(或者说main中第一个用户语句执行之前). 2. 初始化顺序. 1)全局对象.外部 ...

  5. VS2010 F5调试时出现:“ 尝试运行项目时出错:未捕获通过反射调用的方法引发的异常”解决

    VS2010 F5调试时出现 尝试运行项目时出错:未捕获通过反射调用的方法引发的异常 两个解决方法:1) 打开项目属性,选择调试选项卡,将“启用非托管代码调试”一项钩上.2) 打开项目属性,选择调试选 ...

  6. effective c++(04)之对象使用前初始化

    对于内置类型以外的初始化责任落在构造函数身上.如下: class PhoneNumber{}; class ABEntry{ public: ABEntry( const string& na ...

  7. idea下使用autowire注解注入对象,结果初始化不到类

    如果idea下使用autowire注解注入对象,结果初始化不到类,明明使用快捷键alt+insert是可以找到该注入的对象的. 而我们在使用的时候,缺报错了??? 注意,当我们在注入对象的时候,我们留 ...

  8. VB 对象未注册

          像往常一样,打开我的VB,开始我的学生信息管理系统,突然弹出如下对话框:                                                           ...

  9. 完美解决IE9浏览器出现的对象未定义问题

    目前Window7的机器上,使用IE9浏览器的用户很多,但是IE9在兼容性上做了较严格的控制,导致很多程序在chrome,firefox,ie6,ie7,ie8上可以正常运行,在ie9上确出现了各种问 ...

随机推荐

  1. iOS - 毛玻璃效果封装

    #import <UIKit/UIKit.h> #import <Accelerate/Accelerate.h> @interface UIImage (TY_ImageEd ...

  2. 洛谷 [P1552] 派遣

    树型DP + 可并堆 非常清楚的想到是树型DP, 但是如何维护最小值, 于是就去新学了可并堆 #include <iostream> #include <cstring> #i ...

  3. 51Nod 1001 数组中和等于K的数对 And 1015 水仙花数

    1001 数组中和等于K的数对 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 给出一个整数K和一个无序数组A,A的元素为N个互不相同的整数,找出数组A中所有和等于K ...

  4. 【HDOJ5556】Land of Farms(最大团)

    题意:给定n*m的网格图,上面只有字符'.' 和 数字0-9.其中数字表示这是该格是古老的土地,字符'.'表示该格只是普通的土地. 可以认为一块古老的农田由四联通的所有数字相同的格组成的块,一块普通的 ...

  5. Page_Load与Page_PreRender的执行顺序

    原文发布时间为:2009-10-25 -- 来源于本人的百度文章 [由搬家工具导入] Page_PreRender 服务器控件将要呈现给其包含的 控件时发生。简单的理解为page中的控件渲染调用此事件 ...

  6. 【shell】Shell命令合集(0)

    Ccat zdd 浏览文件zdd的内容cat zdd1 zdd2 浏览多个文件的内容cat -n zdd浏览文件zdd的内容并显示行号 cd 回到起始目录,也即刚登陆到系统的目录,cd后面无参数cd ...

  7. 【小米3使用经验】小米3联通版 miui7.2.11稳定版刷机

    1.我的手机是小米3联通版的,买来后为了配合公司的手机开发,将Android系统升级到4.4.4版本,MiUi为默认版本. 前段时间可能不小心开启了自动升级,结果Android系统升级到6.0.1版本 ...

  8. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---12

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:

  9. 在 CentOS 7 中以命令行方式安装 MySQL 5.7.11 for Linux Generic 二进制版本

    MySQL 目前的最新版本是 5.7.11,在 Linux 下提供特定发行版安装包(如 .rpm)以及二进制通用版安装包(.tar.gz).一般情况下,很多项目都倾向于采用二进制通用安装包形式来进行安 ...

  10. 四、Ubuntu 一些常用命令

    1.锁定root用户 :sudo passwd -l root 2.解锁root用户 :sudo passwd -u root 3.切换身份:su root  或者  su 其他用户名,然后输入密码, ...