invalid conversion from ‘LRUCache*‘ to ‘int‘ [-fpermissive] /new的使用

0000Oliver發表於2020-11-13

原始碼:

LRUCache lRUCache = new LRUCache(2);

修改後:

 LRUCache*  lRUCache = new LRUCache(2);  

如果不使用new,用法為:

  LRUCache lRUCache =  LRUCache(2);

使用new和 不使用的區別

  1. new返回的是一個地址,只能申明為一個指標來接收。
    不用new類申明用類來接受
  2. new建立的物件需要delete手動銷燬
    類申明的物件在使用完後解構函式會自動執行
  3. new建立的物件使用堆空間
    類申明的使用棧空間
  4. new出來的指標使用範圍比較廣,作為返回值或者引數,頻繁呼叫的場合並不適合使用。
  5. new建立的類指標呼叫類方法用lRUCache->put(1, 1);
    類呼叫方法使用lRUCache.put(1, 1);

相關文章