程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++語法總結之談

C++語法總結之談

編輯:C++入門知識

在講解C++中的C++語法之前,先讓大家理解下C與C++之間的區別,C和C++ C++源於C。 C:面向結構的程序設計語言。 C++:面向對象的程序設計語言。 C++繼承C語言的優點,同時增加面向對象特性。

C++程序的組成

1)預處理命令

以#開頭。三類預處理命令。

A 宏定義命令。

B 文件包含命令。

C 條件編譯命令。

2)語句

3)輸入和輸出

4)變量

5)函數

語言符號

C++語法中,編譯器識別的基本元素是“語言符號”,一個語言符號是編譯器不能分成組成成分元素的源程序文本。

語言符號包括:關鍵詞、標識符、常量、字符串文字、運算符、標點字符。

空白字符

空格、制表、換行、回車、換頁、縱向制表 (vertical tab)和換行(newline)字符都稱為空白字符(white-space),因為它們具有相同的功能。即作為打印頁上單詞和行之間的空白,使其更容易閱讀。通過空白字符和其它語言符號,例如運算符和標點,從而對語言符號進行定界。

當對代碼進行詞法分析時,C++編譯器忽略空白字符,除非使用它們作為分隔符或者字符常量或字符串文字的組成成分。使用空白字符使程序更具可讀性。 注意編譯器也把注釋作為空白字符處理。

首先重復一句Bjarne的話:“我們的系統已經是極度復雜的了,為了避開C++的復雜性而干脆不用C++Linus的做法),無異於因噎廢食。”在所有可用C和C++的領域,C++都是比C更好的語言。當我說“更好的”時候,我說的是C++擁有比C更安全的類型檢查、更好的抽象機制、更優秀的庫。

當然,凡事都有例外,如果你做的項目1)不大。2)編碼中用不到什麼抽象機制,甚至ADT抽象數據類型,例如std::complex這種不含多態和繼承的)也用不到,RAII也用不到,異常也用不到。3)你連基礎庫如,簡化資源管理的智能指針、智能容器)都用不著。

那麼也許你用C的確沒問題;所以如果你的情況如此,不用和我爭論,因為我無法反駁你。我們這裡說的領域大致是Bjarne在“C++應用列表”裡面列出來的那些地方。 底線是:如果把C++中的諸多不必要的復雜性去掉,留下那些本質的,重要的語言特性,簡化語言模型,消除歷史包袱。

即便是C++語法的反對者也許也很難找到理由說“我還是不用C++”。在我看來,一個真正從實踐意義上理性反對使用C++的人只有一個理由:C++的復雜性帶來的混亂抵消乃至超過了C++的抽象機制和庫在他的特定項目中)帶來的好處。

值得注意的是,這裡需要避免一個陷阱,就是一旦人們認定了“C++不好”,那麼這個理由就會“長出自己的腳來”,即,就算我們拿掉C++的復雜性,他們可能也會堅持還是不用C++語法並為之找一堆理由。

我假定你不是這樣的人。不過,也許最可能的是他會說:“問題是我們今天用的C++並非如此簡潔),你的假設不成立。”是的,我的假設不成立。但雖然我們無法消除復雜性,我們實際上是可以容易地避開復雜性,避短揚長的。這也是本文的要點,容我後面再詳述。

  1. C與C++中標准輸入實現方式上的一點區別
  2. C++編譯器如何對Const常量進行分配存儲空間
  3. C++類庫設計的基本構思與方法
  4. 玩轉C++語言的幾種方法
  5. 如何更好的進行C++代碼編制

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved