由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问个C++ delete[]问题
相关主题
请教一道题贡献些电话面试题目
Char x[] = "abc"; 是在heap还是stack上? (转载)C++: Does this cause memory leak? Thanks.
分享A公司面经一个C++面试题
Bloomberg London onsite面经Google
问一个C的简单问题弱问个C++ 问题 (const_cast)
问个小算法问个超级小问题
C++ Q66: reverse a string -- is it efficientAmazon intern first phone interview
问一个C++ set和unordered_set iterator的问题请问一下关于new和delete的概念
相关话题的讨论汇总
话题: delete话题: cp话题: c++话题: cp2话题: char
进入JobHunting版参与讨论
1 (共1页)
q****x
发帖数: 7404
1
从那个删除重复元素的数组问题想到的。怎么回收被删掉元素的空间?下面这样不行。
int main()
{
char* cp = new char[10];
char* cp2 = cp + 2;
delete [] cp2;
delete [] cp;
}
S**I
发帖数: 15689
2
undefined behavior

【在 q****x 的大作中提到】
: 从那个删除重复元素的数组问题想到的。怎么回收被删掉元素的空间?下面这样不行。
: int main()
: {
: char* cp = new char[10];
: char* cp2 = cp + 2;
: delete [] cp2;
: delete [] cp;
: }

l*****a
发帖数: 14598
3
delete [] cp
之所以工作是因为分配空间时系统 在cp处记录了所分配空间的size
对于cp2 没有定义这样的信息,所以属于未定义行为

【在 q****x 的大作中提到】
: 从那个删除重复元素的数组问题想到的。怎么回收被删掉元素的空间?下面这样不行。
: int main()
: {
: char* cp = new char[10];
: char* cp2 = cp + 2;
: delete [] cp2;
: delete [] cp;
: }

A**u
发帖数: 2458
4
不对
应该是cp那个地址,有一个额外的内存 存储 size

【在 l*****a 的大作中提到】
: delete [] cp
: 之所以工作是因为分配空间时系统 在cp处记录了所分配空间的size
: 对于cp2 没有定义这样的信息,所以属于未定义行为

l*****a
发帖数: 14598
5
就是那个意思
不过你这个‘额外的内存,展开说说吧

【在 A**u 的大作中提到】
: 不对
: 应该是cp那个地址,有一个额外的内存 存储 size

A**u
发帖数: 2458
6
记得看effective c++上讨论 deletel delete[],
画了个 delete[]的内存分布
[size][0][1][2][3]
这样子的.

【在 l*****a 的大作中提到】
: 就是那个意思
: 不过你这个‘额外的内存,展开说说吧

K*****k
发帖数: 430
7
如果我用指针操作改写size的值,是否回收会出错?
另外VC下我看过数组首元素附近的内存,没有一个的值是size

【在 A**u 的大作中提到】
: 记得看effective c++上讨论 deletel delete[],
: 画了个 delete[]的内存分布
: [size][0][1][2][3]
: 这样子的.

A**u
发帖数: 2458
8
你不可能看到.
compiler实现.

【在 K*****k 的大作中提到】
: 如果我用指针操作改写size的值,是否回收会出错?
: 另外VC下我看过数组首元素附近的内存,没有一个的值是size

q****x
发帖数: 7404
9
应该是记在mem allocator里。调用delete[]时查一下当时这块地址分配大小。

【在 K*****k 的大作中提到】
: 如果我用指针操作改写size的值,是否回收会出错?
: 另外VC下我看过数组首元素附近的内存,没有一个的值是size

1 (共1页)
进入JobHunting版参与讨论
相关主题
请问一下关于new和delete的概念问一个C的简单问题
怎么看process 用多少内存? (转载)问个小算法
问个C++题C++ Q66: reverse a string -- is it efficient
问个static的问题 (转载)问一个C++ set和unordered_set iterator的问题
请教一道题贡献些电话面试题目
Char x[] = "abc"; 是在heap还是stack上? (转载)C++: Does this cause memory leak? Thanks.
分享A公司面经一个C++面试题
Bloomberg London onsite面经Google
相关话题的讨论汇总
话题: delete话题: cp话题: c++话题: cp2话题: char