D *pd=new D; 为什么是对的.
我类D 并没有重载这两个操作符啊.
13 个解决方案
#1
执行默认的操作啊
#2
可是我没有重载 new * 这两个运算符啊.
也能用吗?
可是我没有看见什么书上写这两个是默认的呢
也能用吗?
可是我没有看见什么书上写这两个是默认的呢
#3
汗. 语法默认就是这样啊。你不可能说“ const int a 我没有重载const 啊”
#4
const 又不是操作符.
#5
这个不需要重载啊。new指明将这个对象在堆上存储,而不是栈上。使用new声明对象后会返回一个指向对象的指针。
D *pd声明了一个D类型的指针,正好存放这个返回值。这些都不需要你做操作的。操作系统和编译器知道怎么做。这样说是不是明白?
你就知道声明对象后使用不使用new只是存放地方的区别,然后指针也直接声明即可。因为指针并不是一个运算符,它只是声明来指向一个特定对象的内存单元而已。
D *pd声明了一个D类型的指针,正好存放这个返回值。这些都不需要你做操作的。操作系统和编译器知道怎么做。这样说是不是明白?
你就知道声明对象后使用不使用new只是存放地方的区别,然后指针也直接声明即可。因为指针并不是一个运算符,它只是声明来指向一个特定对象的内存单元而已。
#6
有默认的
#7
要是默认的都这么多了. 还要重载操作符搞什么啊.
#8
找到了:
在 任何编译器实现的库里面,至少有一个全局的new和delete的实现,并且,这个实现是可以被(用户)替换(replaceable)的.
在 任何编译器实现的库里面,至少有一个全局的new和delete的实现,并且,这个实现是可以被(用户)替换(replaceable)的.
#9
呵呵!学习
#10
,...
#11
在 任何编译器实现的库里面,至少有一个全局的new和delete的实现,并且,这个实现是可以被(用户)替换(replaceable)的.
顶一下!!!!
#12
这2个比较特别
你没重载那就会调用系统默认的那个呗
你没重载那就会调用系统默认的那个呗
#13
类首先查找类内部的new和delete
没重载时 调用全局的new和delete
没重载时 调用全局的new和delete
#1
执行默认的操作啊
#2
可是我没有重载 new * 这两个运算符啊.
也能用吗?
可是我没有看见什么书上写这两个是默认的呢
也能用吗?
可是我没有看见什么书上写这两个是默认的呢
#3
汗. 语法默认就是这样啊。你不可能说“ const int a 我没有重载const 啊”
#4
const 又不是操作符.
#5
这个不需要重载啊。new指明将这个对象在堆上存储,而不是栈上。使用new声明对象后会返回一个指向对象的指针。
D *pd声明了一个D类型的指针,正好存放这个返回值。这些都不需要你做操作的。操作系统和编译器知道怎么做。这样说是不是明白?
你就知道声明对象后使用不使用new只是存放地方的区别,然后指针也直接声明即可。因为指针并不是一个运算符,它只是声明来指向一个特定对象的内存单元而已。
D *pd声明了一个D类型的指针,正好存放这个返回值。这些都不需要你做操作的。操作系统和编译器知道怎么做。这样说是不是明白?
你就知道声明对象后使用不使用new只是存放地方的区别,然后指针也直接声明即可。因为指针并不是一个运算符,它只是声明来指向一个特定对象的内存单元而已。
#6
有默认的
#7
要是默认的都这么多了. 还要重载操作符搞什么啊.
#8
找到了:
在 任何编译器实现的库里面,至少有一个全局的new和delete的实现,并且,这个实现是可以被(用户)替换(replaceable)的.
在 任何编译器实现的库里面,至少有一个全局的new和delete的实现,并且,这个实现是可以被(用户)替换(replaceable)的.
#9
呵呵!学习
#10
,...
#11
在 任何编译器实现的库里面,至少有一个全局的new和delete的实现,并且,这个实现是可以被(用户)替换(replaceable)的.
顶一下!!!!
#12
这2个比较特别
你没重载那就会调用系统默认的那个呗
你没重载那就会调用系统默认的那个呗
#13
类首先查找类内部的new和delete
没重载时 调用全局的new和delete
没重载时 调用全局的new和delete