大家好我是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 次 |
| 最近记录: |