C 學習 備忘記錄 二

2021-06-16 05:52:13 字數 745 閱讀 2692

1、malloc、free 與 new 、delete的區別

首先malloc、free 屬於c的一組庫函式,new delete 屬於c++的一組運算子。 功能都是開闢和釋放記憶體空間。 但是區別在於。new 和delete運算子 在開闢空間的時候會呼叫類的建構函式和析構函式。 而malloc free 則沒有這項功能。(c裡面也沒有類的概念)

2、c++空類預設產生哪些類成員函式?

編譯器自動產生4個函式,預設的 建構函式、析構函式、拷貝建構函式、賦值函式。

3、c++中析構函式可以是內聯函式

4、c++中的delete 和 delete 的區別。

1、對於基本型別(int ,char,float 等),開闢的記憶體空間,使用兩個操作符均可以將記憶體釋放。

char *a=new char[300];

delete a; //or  delete a; 均可以

2、對於自定義的類的型別,開闢類陣列的記憶體空間後,釋放記憶體要使用delete, 如果使用delete, 也可以釋放記憶體,但卻不會呼叫類的

析構函式,導致類內的釋放操作不完整。

class t;

t* t=new t[20];

delete t;//只會呼叫t[0]的析構函式,其他的物件均釋放記憶體後不呼叫析構函式。

delete t;//釋放記憶體,而且會呼叫相應的析構函式。

SQL備忘記錄

一 with as的含義 with as短語,也叫做子查詢部分 subquery factoring 可以讓你做很多事情,定義乙個sql片斷,該sql片斷會被整個sql語句所用到。有的時候,是為了讓sql語句的可讀性更高些,也有可能是在union all的不同部分,作為提供資料的部分。特別對於uni...

sql備忘記錄

spark sql 當前日期 current date 顯示當前日期 年月日時分秒 year,month,day,hour,minute,second 例 year 2018 09 20 2018 第幾周,第幾天 weekofyear,dayofyear weekofyear x xx xx mys...

FFmpeg 學習記錄(備忘)

目錄 1.ubuntu環境下 1.1 開啟攝像頭實時監控 1.2 檢視支援的格式 1.3 開啟攝像頭並且儲存錄影 1.4 開啟攝像頭並且rtmp推流 2.windows環境下 2.1 開啟攝像頭實時監控 3.參考文章 ffplay f video4linux2 framerate 30 video ...