大家好我是c ++的菜鸟,想知道是否
memblock = (char *)malloc( currentByteLength);
Run Code Online (Sandbox Code Playgroud)
相当于
memblock = new char[currentByteLength]
Run Code Online (Sandbox Code Playgroud)
在c ++中.
memblock = (char *)malloc( currentByteLength);
memblock = new char[currentByteLength];
Run Code Online (Sandbox Code Playgroud)
现在没什么区别.但是,如果你更换char
用int
,那么,就不会有区别,因为在这种情况下,malloc
将分配大小的内存currentByteLength
,同时new
将分配大小的内存size(int) * currentByteLength
.所以要非常小心.
另外,如果你在表达式中提到的类型new
是用户定义的类型,那么默认构造函数将被调用currentByteLength
次数来构造对象!
对于内置类型,没有构造函数!
归档时间: |
|
查看次数: |
8667 次 |
最近记录: |