c 學習記錄

2021-08-21 06:41:54 字數 504 閱讀 1449

時隔多年,再次學習c++,原因在與看了很多開源**的實現,都是c++/c,不禁想彌補一下這方面的知識。

在c/c++中,為了解決一些頻繁呼叫的函式,節省棧空間,引入了inline關鍵字,將呼叫的函式實現直接替換到函式處。

從上述可以看出兩點:

1. inline是一種對編譯器的建議,真正是否inline,還得看這個函式是否足夠簡單,因此inline函式只適用簡單**;

2. inline是一種實現的關鍵字,必須與實現在一起,如果加在宣告前,則不起作用。儘管很多函式的宣告,都新增了inline關鍵字,但實際上函式在向外提供介面時,並不需要告訴外界,這個函式是inline的。(此外,作為常見的函式定義,定義在類中的成員函式預設是inline,當然直接在類宣告中寫類的實現,被認為是不符合規範的,因此需要在實現上,重新加上inline關鍵字)

在每乙個header檔案中申明的函式,必須要指定乙個定義;不然就會報錯;

hpp是c++的標頭檔案,h是c風格的標頭檔案,hpp可以表示包含了一些只對c++合法的語法。

C 學習記錄

由於之前寫c c 程式時,動不動就容易報錯,也就沒繼續用,一直覺得c 很難。最近在學習機器學習時,用到了乙個c 神經網路庫,並且在菜鳥教程中看到了c 的教程,於是學了一下,發現根本沒有想象中的那麼難,可能也是這個教程講的比較好吧。現在把一些學到的比較重要的點記錄一下吧!1.ifndef 突然覺得在標...

C 學習記錄

原創 主要是c 和c 不同的地方,會寫一下,流程控制什麼的都差不多,比較適合c 轉c 的人看 以前沒有系統的學過c 現在補一下,以前完全是為了看懂別人的 稍微看一下,也沒有太想在這方面下功夫,學一點是一點,目標是能修改別人的c 服務端程式。一.包含 包含原理上什麼檔案都能包含進來,但是一般只包含.c...

C 學習記錄

reserve和resize的區別 reserve是容器預留空間,但並不真正建立元素物件,在建立物件之前,不能引用容器內的元素,因此當加入新的元素時,需要用push back insert 函式。resize是改變容器的大小,並且建立物件,因此,呼叫這個函式之後,就可以引用容器內的物件了,因此當加入...