c++

1、標示符必須以字母或下劃線開頭,不能以數字開頭。

2、int a=7和int a=07 不同,前者是十進制,後者是8進制。

3、double a=b=99.99;//非法,同一定義語句中不同變量的初始化應該分別進行。

4、內置數據類型的變量在函數體外定義初始化爲0,在函數體內定義不初始化。

5、只有當extern 聲明位於函數外部時,纔可以含有初始化式。

extern std::string name("abc");一定是在函數體外,作全局變量。

6、const常量必須初始化。

7、非const變量:

//file1.c
int count;
//file2.c
extern int count;
++count;

8、const變量:在全局作用域聲明的const的變量是定義該對象的文件的局部變量。此變量只存在於那個文件中,不能被其他文件訪問。

通過指定const 變量爲extern ,就可以在整個程序中訪問const 對象:

//file1.c
extern const int bufSize=123;
//file2.c
extern const int bufSize;
for(int i=0;i<bufSize;i++)……

9、引用必須與該引用同類型的對象初始化,但是唯獨const引用可以初始化右值。

int &refva1;//error:a reference must be initialized
int &refva2=10;//error:initializer must be an object
const int &refva3=123;//right
const int ival=1;
const int &refva4=ival;

const 引用是對const 的引用。

10、定義類時,通常先定義該類的接口,即該類所提供的操作。通過這些操作,可以決定該類完成其功能所需要的數據,以及是否需要定義一些函數來支持該類的實現。

11、編程新手經常會忘記類定義後面的分號,這是個很普遍的錯誤。

12、用class 和struct 關鍵字定義類的唯一差別在於默認訪問級別:默認情況下,struct的成員爲public,而class 的成員爲private.

13、頭文件中不能包含變量和函數的定義,但是const 對象和inline函數可以定義。

extern int ival=10;//定義
double fica;//定義,因爲沒有extern

如果const變量不是用常量表達式初始化,那麼他就不應該在頭文件中定義。相反,和其他的變量一樣,該const變量應該在一個源文件中定義並初始化。應在頭文件中爲它添加extern聲明,以使其能被多個文件共享。

14、頭文件保護符:防止頭文件被多次重複包含

#ifndef SHA
#define SHA

頭文件的實體內容

#endif

15、在頭文件必須總是使用完全限定的標準庫名字,即不能使用using namespace std

16、從標準庫輸入讀取string :讀取並忽略開頭所有的空白字符,讀取字符直至再次遇到空白字符,讀取終止。

如果輸入爲“   Hello  World  ”,則存入的字符串爲“Hello”

17、getline函數:getline(cin,str)從輸入流讀入數據到str,但不包括換行符,可以包括空白字符,這與cin>>str不同。getline會丟棄最後的換行符,因此cout<<str時需要自己添加endl;

18、

#include <iostream>
#include <string>
using namespace std;

int main()
{
	string word;
	while(cin>>word)
	cout<<word;
	system("pause");
	return 0;
}

wKioL1UALrSCTWLuAAC9tTW9xxM860.jpg

string對象在內存裏的數據爲"1\0" "2\0" "3\0"

string.size()不將'\0'字符計算在內。

19、string.size()的返回值是string::size_type類型,任何存儲string的size操作結果的變量必須爲string::size_type類型。特別重要的是,不要把size的返回值賦給一個int變量。

20、+連接操作符左右必須有一個string類型,不能全部是字面值。    

21、cctype頭文件裏的函數可以判斷一個字符是字母、數字、空白字符、標點符號等

22、

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章