| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1217 人关注过本帖
标题:动态数组,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
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册: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
快速回复:动态数组,const,VC6里面的问题
数据加载中...
 
   



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

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