C C 理論知識補充

2021-10-13 18:52:32 字數 2754 閱讀 6420

比如

#include

實際上就是將iostream檔案中所有內容拷貝到這個檔案中

比如

cout<<

"hello world"

<<

"\n"

;

其實就是

cout.

print

("hello world").

print

("\n"

);

include指令實際上就是將另乙個檔案中的**複製貼上到當下檔案中,如果出現同一檔案被多次複製的情況,可能會導致重複而出錯,解決方案

#pragma once
放置到.cpp檔案頭部,或者使用ifndef endif區域塊

#ifndef _log_h

#define _log_h

//寫相關**操作

#endif

c的庫都有拓展名

c++沒有

只是else和if兩個連在一起寫了而已,相當於else下新增了if語句

for

(語句1;語句2;語句3

)

語句1是指:迴圈開始前進行的資料初始化

語句2是指:迴圈的判斷條件

語句3是指:每次迴圈結束後進行的操作

所以for語句也可以有以下兩種寫法形式,作用相同

for

(int i=

0;i<

5;i++

)//----------------------也可寫成

int i=0;

for(

;i<5;

)

所以for後的括號中可以只有乙個判斷語句,甚至可以直接寫成乙個bool型變數,然後在滿足一定條件後在迴圈中將其bool值改變

由此看出,實際上for和while迴圈實際上是相同的,只是寫法不同

void

* ptr=

0;

void

*ptr=

null

;

這其中的null實際上就是乙個預處理的符號,它的預處理**是:

#define null 0

#define null ((void*)0)

需要在設定斷點進行執行後才能看記憶體(動一下腦子就知道不執行怎麼會佔記憶體)

斷點執行下:debug(除錯)->windows(視窗)->memory(記憶體)->memory 1
可以看到當下執行狀態中記憶體中的儲存狀態

因為++的優先順序高,所以如果想通過指標並用++對資料進行修改,需要加上()

int a=8;

int* ptr=

&a;(

*ptr)

++;cout<<

*ptr<用引用往往比指標看起來更nice

引用並不是乙個變數,不單獨占用記憶體

所以宣告時必須進行初始化,而且一旦初始化就不能進行更改

可以減少乙個引數(類的物件的引用)

只有乙個區別,struct預設成員是public,class預設成員是private

struct裡面成員也可以是函式,其中的成員一樣可以用private,protected,public關鍵字進行許可權限定。

他也同樣可以進行繼承……

之所以c++中仍存在struct,是因為要保持和c語言的相容性

但是通常情況下,如果涉及到繼承,一般用class而不用struct

static關鍵字作用1:資料存放在靜態變數區,如果當其存在於類中時,任意乙個物件的修改,都會使這個類的所有物件的對應值都改變

static關鍵字作用2:在linking階段,static後的變數或函式,只在當下編譯單元中宣告。

就是linker不會在當下編譯單元外去尋找它的定義,linker也不能從其他編譯單元中讀取到這個物件

它對cpp檔案的作用類似於private對於類的作用

linker會在其他編譯單元中去尋找當下宣告的定義(外部鏈結)

二進位制 0b

八進位制 0

十六進製制0x

for語句和while語句不能直接跟;,不然會產生錯誤

例如

/*------------------例1--------------*/

int i=0;

while

(i<1)

;i++

;printf

("%d"

,i);

/*------------------例2--------------*/

for(

int i=

0;i<

1;i++);

printf

("%d"

,i);

這兩段語句,均因為多新增了;,導致無法正常執行

直接跟上乙個分號相當於迴圈體中的語句為空。

返回值均為int型,直接輸出不是字母

float t;

int n;

scanf

("%f%d"

,&t,

&n);

在不同編譯器中值不同,但是同一編譯器中不變

所以不能用sizeof獲得字串的長度

web services理論知識

web服務作為一種能夠快速整合應用的技術,如果與非同步傳輸進行組合,就將為構建企業級應用提供所需的可靠性。在本文中,我們嘗試用兩種設計方法來部署和訪問非同步web服務 通過使用 apache axis 在第一種方法中,用websphere mq support pac ma0r來提供mq傳輸 利用w...

理論知識總結

軟體定義 程式 資料結構 文件。軟體危機 落後的軟體生產方式無法滿足迅速增長的計算機軟體要求,從而導 致軟體開發與維護過程中出現的問題。軟體工程 方法 工具 過程。軟體生命週期模型 瀑布模型,v模型,迭代模型。軟體測試是對軟體需求分析 設計 編碼的最終複查的一系列過程,是軟體質量保證的關鍵步驟 目的...

天線理論知識

zigbee 1為乙個預估的exel ti提供的基於friis等式和二維反射平面模型計算的,通過理論計算可得到傳輸的理論距離。影響通訊距離有如下主要的指標 頻段選擇 選擇的通訊頻段越高,通訊距離越短。頻段越低天線越難設計。發射功率 發射功率越大,通訊距離越遠,與此同時,板子的功耗也越高,正常情況下,...