首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请问 char* str1=new char[1234567890] 和 char* str2=new char[1234567890] 的内存区域会重叠吗

2013-10-21 
请教 char* str1new char[1234567890] 和 char* str2new char[1234567890] 的内存区域会重叠吗?请教 cha

请教 char* str1=new char[1234567890] 和 char* str2=new char[1234567890] 的内存区域会重叠吗?
请教 char* str1=new char[1234567890] 和 char* str2=new char[1234567890] 的内存区域会重叠吗?
谢谢
[解决办法]
不会

[解决办法]
应该不会重叠,不过可能失败。
[解决办法]

引用:
Quote: 引用:

应该不会重叠,不过可能失败。

失败没关系,“应该不会重叠”就让人心里怕了,还敢用?

我翻了翻标准,还真没找到那里明确说了不能重叠。
c 标准倒是说了 malloc 不能重叠。
c++ 有提到 operator new 可以通过 malloc 实现,这样的话,就不会重叠了。
目测这是 c++ 标准的疏漏,肯定是需要不重叠的。
[解决办法]
引用:
Quote: 引用:

我翻了翻标准,还真没找到那里明确说了不能重叠。
c 标准倒是说了 malloc 不能重叠。
c++ 有提到 operator new 可以通过 malloc 实现,这样的话,就不会重叠了。
目测这是 c++ 标准的疏漏,肯定是需要不重叠的。

如果可能会重叠,就餐具了


但是多了,不会重叠的,如果没有足够的内存空间给用户分配的话,就是new失败!

热点排行