标题:请教各位大佬,关于cin的输入问题
只看楼主
为想而行
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-4-16
结帖率:0
已结贴  问题点数:20 回复次数:5 
请教各位大佬,关于cin的输入问题
char *p = new char[4];
    cin >> p;//输入字符串长度大于p指向的内存空间长度时,编译器怎么处理????
    delete[] p; //报错
搜索更多相关主题的帖子: cin 输入 char 编译器 处理 
2019-04-16 17:32
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:7 
编译 发生在 运行 之前。
所以编译器啥也不知道,未定义行为。
2019-04-16 18:23
为想而行
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-4-16
得分:0 
回复 2楼 rjsp
我想问的是当输入字符串的长度大于p所指向的内存空间长度,后面报错怎么处理
2019-04-16 18:36
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
回复 3楼 为想而行
没法处理,因为这种行为对C++而言已经属于“未定义行为”
2019-04-17 08:21
lyb661
Rank: 5Rank: 5
等 级:贵宾
威 望:18
帖 子:47
专家分:83
注 册:2018-12-12
得分:7 
我觉得既然输入不成功,那么建立的指针也就不存在。当然不用删除。
2019-04-17 12:39
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
得分:7 
这种情况用getline输入
2019-04-19 09:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-494189-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015841 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved