原代码:
LRUCache lRUCache = new LRUCache(2);
修改后:
LRUCache* lRUCache = new LRUCache(2);
如果不使用new
,用法为:
LRUCache lRUCache = LRUCache(2);
使用new和 不使用的区别
new
返回的是一个地址,只能申明为一个指针来接收。
不用new类申明用类来接受- new创建的对象需要delete手动销毁
类申明的对象在使用完后析构函数会自动执行 - new创建的对象使用堆空间
类申明的使用栈空间 - new出来的指针使用范围比较广,作为返回值或者参数,频繁调用的场合并不适合使用。
- new创建的类指针调用类方法用
lRUCache->put(1, 1);
类调用方法使用lRUCache.put(1, 1);