世嘉新人培訓教材學習 第一章 C 知識點複習

2021-10-25 12:28:19 字數 2419 閱讀 4861

因為第一章為基礎的c實現了推箱子的簡單遊戲,後面要使用到許多c++的知識,之前學習過,但是因為用的較少,這裡在簡單複習一下。加深理解,同時也知道了在學校學的知識點只是停留在基礎的語法部分,要真的去理解才能取得進步。

一、為什麼使用命名空間

在c++應用程式中會出現同樣的情況。例如,您可能正在編寫一些具有名為xyz()函式的**,並且還有另乙個可用的庫,它也具有相同的xyz()函式。現在編譯器無法知道您在**中引用的xyz()函式的哪個版本。

命名空間(namespace)被設計來克服這個困難,並被用作額外的資訊來區分類似的函式、類、變數等等,它們在不同的庫中具有相同的名稱。使用命名空間,您可以定義定義名稱的上下文。本質上,命名空間定義了乙個範圍。

c++命名空間的使用:

使用整個命名空間:using namespace name;

使用命名空間中的變數:using name::variable

使用預設命名空間中的變數:::variable

例如:using namespace std;  該指令告訴編譯器後續**將使用指定命名空間  std 中的東西。

//類模板:

templateclass 類名;

//函式模板

template返回值型別 模板名(形參列表)

類的建構函式是一種特殊的函式,在建立乙個新的物件時呼叫。(預設建構函式就是無參建構函式)

類的析構函式也是一種特殊的函式,物件消亡時被呼叫。

拷貝(複製)建構函式是一種特殊的建構函式,它在建立物件時,是使用同一類中之前建立的物件來初始化新建立的物件。只有乙個引數,為本類的引用

預設情況下,c++編譯器會至少給類加三個函式(預設建構函式,複製建構函式,析構函式)。

①若寫了有參建構函式,則不會提供無參建構函式,會有拷貝建構函式。

②若寫了拷貝建構函式,則不會提供其它建構函式。

1、const修飾變數const修飾變數,可以使變數具有常屬性,也就是該變數在以後的使用中其值都不能進行改變

(const修飾的變數要進行初始化。)

2、const和指標

int const* p;//指標p本身可以修改,但是p指向的內容不可以修改

const int*p;//指標p本身可以修改,但是p指向的內容不可以修改

// const 和變數型別 int 可以互換位置,二者是等價的

int *const p;//指標p本身不能修改,但是p指向的內容可以被修改

int const *const p;//指標p本身和p指向的內容都不可以修改

​const int *const p;//指標p本身和p指向的內容都不可以修改

簡記:(const放在*左邊)左定值,右定向

3、保護函式引數不被改變用const修飾函式的引數,可以保證該引數的值在函式內部不被改變。

一般情況下,如果引數是按值傳遞的,那麼函式本來就無法改變引數值。但如果按指標傳遞或按引用傳遞,則const是有用的。

4、const修飾函式返回值const修飾函式的返回值,表示函式的返回值是常量,不可更改。該返回值只能被賦給加const修飾的同型別變數。一般在類中使用,不常用。

const int fun()
5、const修飾類成員函式const可以修飾類成員函式,防止類成員函式中除了static成員之外的其他成員(變數)被修改。

class t

private:

int a;

static int b;

};//注意:const 關鍵字不能與 static 關鍵字同時使用,因為 static 關鍵字修飾靜態成員函式,靜態成員函式不含有 this 指標,即不能例項化,const 成員函式必須具體到某一例項。

小例子無法體現const的好處,當程式規模變大時就會體現出這種安全機制的重要性了。在寫函式時只要能加const就盡量加上。

t *p = new t;  

delete p;//釋放

t *p =new t[n];//動態分配乙個任意大小的陣列:

delete p;//釋放 ,如果採用delete p;會導致動態分配的陣列沒有被完全釋放。

因為編譯器無法從指標上判斷所指的是否為陣列,需要人來告知。

C 學習 第一章 開始

學習一門新的程式語言的最好方法就是練習編寫程式。每個c 程式都包含乙個或多個函式 function 其中乙個必須命名為main。作業系統通過呼叫main來執行c 程式。下面是乙個簡單的main函式,它什麼都不做,只是返回給作業系統乙個值 int main main函式的返回型別必須為int。int型...

C 學習筆記 第一章

1 整形int 2 浮點型float 3 字元型char 4 布林型boolean 1 字串string 2 複數complexnumber 3 向量vector 4 列表list 例子 1 為了使用string型別,必須包含標頭檔案 include string str hello,world 2...

C 學習筆記 第一章

1.2學習c 在學習c 時,最重要的事情就是集中關注概念,不要迷失在語言的技術細節中。c 支援多種不同的程式設計風格。1.3.2哲學註記 c語言的基本設計觀點 要求 盡可能地接近機器的 語言,以使機器的所有重要方面都能以一種對程式設計師相當明顯的方式簡單而有效地加以處理。c 是 盡可能接近需要解決的...