标题:动态数组,const,VC6里面的问题
只看楼主
追公交的少年
Rank: 2
等 级:论坛游民
帖 子:29
专家分:20
注 册:2015-11-26
结帖率:60%
已结贴  问题点数:10 回复次数:1 
动态数组,const,VC6里面的问题
const int *p1=new const int[10];
这个应该是不对的,因为没有初始化
const int *p1=new const int[10]();
这样应该就初始化了,然后在vc里面还是提示错误。
改成 const int *p1=new  int[10];
然后就没有错误,但是还是没有初始化。
前面两种在VS2015里面都没有错误提示。
这是编辑器的问题吗?
那么定义const对象的动态数组的话,new后面不需要跟const 吗?
书上是跟着,而且说必须初始化(c++primer)
虽然这样的动态数组没有意义。
如果没有初始化,会有什么不好的影响吗?
搜索更多相关主题的帖子: 动态 编辑器 而且 影响 
2015-12-13 23:26
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:10 
程序代码:
#include <iostream>
using namespace std;

int main( void )
{
    const int* p = new const int[2]{1,2};
    cout << p[0] << endl;
    cout << p[1] << endl;

    return 0;
}
编译 g++.exe -c test.cpp -std=c++14 ……
输出 1 2

--- 原来是VC6,当我没说过



2015-12-14 09:22



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




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

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