社区
C++ 语言
帖子详情
C++ 越界问题
malone1
2011-08-19 10:15:24
struct A
{
int m_b;
int m_c;
}
char * buf= new char;
A * Aptr= (A *)buf;
Aptr->m_b=4;
Aptr->m_c=5;
这样程序虽然可以运行,但是存在越界问题?
...全文
229
16
打赏
收藏
C++ 越界问题
struct A { int m_b; int m_c; } char * buf= new char; A * Aptr= (A *)buf; Aptr->m_b=4; Aptr->m_c=5; 这样程序虽然可以运行,但是存在越界问题?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
malone1
2011-09-05
打赏
举报
回复
Abel Lee
2011-08-19
打赏
举报
回复
轻则程序崩溃,重则系统崩溃,永远记住不要对你不可用的内存赋值!!!
野男孩
2011-08-19
打赏
举报
回复
错误就是错误,没表现出来,那也是错误。别玩火~~
pathuang68
2011-08-19
打赏
举报
回复
buf除了第一个char是可以确定的外,其后的内容皆不能确定。
C和C++给了程序员很多自由,但自由也同时意味着责任。
jernymy
2011-08-19
打赏
举报
回复
等着崩溃吧
turing-complete
2011-08-19
打赏
举报
回复
显然越界了,你是想验证错误,但是没有得到错误吧。 呵呵,这种错误才是最厉害的错误。
品茶
2011-08-19
打赏
举报
回复
等着崩溃吧
至善者善之敌
2011-08-19
打赏
举报
回复
拉登来了。。。
小庙拜大神
一叶之舟
2011-08-19
打赏
举报
回复
当然了,A占8个字节,new char;只分配了一个字节,肯定会越界。
可以这样做:
char * buf= new char[sizeof(A)];
A * Aptr= (A *)buf;
Aptr->m_b=4;
Aptr->m_c=5;
xiaoguangzaia
2011-08-19
打赏
举报
回复
只申请了sizeof(char)大小的内存
实际操作了sizeof(A)大小
gykgod
2011-08-19
打赏
举报
回复
LZ 您是对的
可能会写非法内存
buf只有一个字节是合法的 往这个字节后面再写就写到别人那里了 覆盖了别的数据
珍惜生命远离CPP
2011-08-19
打赏
举报
回复
是,越界了
后果未知
再次启程
2011-08-19
打赏
举报
回复
越界了,这样可能无意中修改了某些未知的量,造成不可预测的后果
Saingel
2011-08-19
打赏
举报
回复
既然LZ这样写,那个性到底
char * buf= new char[sizeof(A)];
v_table
2011-08-19
打赏
举报
回复
c++让您这么用,斯特鲁普情何以堪。。
kkrmr
2011-08-19
打赏
举报
回复
有用。。
C++
Test 应用实例
C++
Test主要用于对指针的保护、
越界
、数组的
越界
、变量的
越界
等
问题
,对于数学运算等函数,可以明确知道返回值的,可以设置预期的返回值,来判断算法是否正确。 knowledge point 8: 函数测试
C++
Test可以用于测试...
C/
C++
指针经典资料大全
-
C++
11引入了智能指针(如`unique_ptr`,`shared_ptr`,`weak_ptr`),自动管理内存,避免手动释放带来的
问题
。 8. **指针与STL** - 标准模板库(STL)中的容器如`vector`,`list`,`map`等,经常与指针结合使用...
C/
C++
程序设计员应聘常见面试试题深入剖析
C/
C++
程序设计员应聘常见面试试题深入剖析 本文将对C/
C++
程序设计员应聘常见面试试题进行深入剖析,帮助读者更好地理解面试题的技术内涵,并提高自身的编程能力。 1. 引言 面试题的目的并不在于提供求职指导,...
C/
C++
指针的13份资料
13. **指针的安全性**:在使用指针时,要避免未初始化的指针、空指针解引用、
越界
访问以及悬挂指针等
问题
,确保程序的健壮性。 通过深入学习这13份资料,你将能够掌握C/
C++
指针的精髓,无论是进行底层编程、优化...
c++
数据
越界
问题
后来终于发现是一个非常基础的数据
越界
问题
。
问题
演示: int h,w,count,imgsize; h=20000; w=20000; count=7 imgsize=h*w*count/8; byte* img=new byte[imgsize];//操作系统提示:内存不足 分析: int占32位是...
C++ 语言
65,199
社区成员
250,520
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章