读书人

new的有关问题

发布时间: 2012-03-03 15:33:03 作者: rapoo

new的问题
例如
int *p=new int(3);
得到指向sizeof(int),而且初始值为3的内存;
int *p=new int[100];
得到指向sizeof(int*100)的内存;

如果要得到指向sizeof(int*100)的内存,而且每个初始值为3的内存,则如何写?
是这样吗?
int *p=new int[100](3);
但编译不通过



[解决办法]
循环赋值?
[解决办法]
抱歉,C++没这个一步到位的语法。
[解决办法]
ZeroMemory或memset
[解决办法]
int *p=new int[100];
for(int i=0;i <100;i++) p[i]=3;
[解决办法]
你用vector <int> x(100, 3);
就啥事没有了。
如果不喜欢memset/for/while,要酷一点的,可以用std::fill
[解决办法]
就是不要用new出来的动态数组了,用C++ STL库里的vector。
[解决办法]
taodm可不可以不将STL库啊,我们这样的菜鸟没有精力去搞这个啊!
[解决办法]
STL可不是随便讲讲就能学会的,没精力才更要学。
用好STL,C++开放效率至少提高3~4倍,时间/精力就省回来了。
去看《STL.Tutorial.and.Reference.Guide》中文名好像叫 <STL自学参考手册>
[解决办法]
这个问题用stl的确简单很多
[解决办法]
哪个平台?只要是还稍微能满足C++标准,都可以加装stlport。即使是BC3.1,也可以按STL思路实现简化接口的stl。

读书人网 >C++

热点推荐