學c++要了解什么(3)
學c++要了解什么
四、關于const
一般的const變量:
下面兩個聲明都指向一個const int類型的指針,指針所指向的內存不能被修改,但指針可以指向另一個內存:
const int *p;
int const *q;
int類型的const指針應該這樣聲明。指針所指向的內存可以被修改,但指針不能指向另一個內存
int * const r= &n;
聲明一個指向const int類型的const指針:
const int * const p=&n;
const在函數(shù)聲明中的含義:
const int& SetPoint(const int& param) const
第一個const:
函數(shù)的返回值限定為const,即返回值不能被修改。const int a=SetPoint(...) a在此之后便不能被修改。
第二個const:
指函數(shù)的形參為const類型,函數(shù)體內不能被修改.
第三個const:
表明這個函數(shù)不會對這個類對象的數(shù)據(jù)成員(準確地說是非靜態(tài)數(shù)據(jù)成員)作任何改變。
類的const和static成員變量的初始化:
對于static成員變量,如果同時是const的,可以在類定義中初始化,否則只能在類定義外部初始化。
非static的const成員變量只能在構造函數(shù)的初始化列表中初始化。(ClassName():m_1(1){};)
五、一些數(shù)據(jù)類型和變量賦值語法
1、union 中的所有被聲明的元素占據(jù)同一段內存空間,其大小取聲明中最長的元素的大小。union 的用途之一是將一種較長的基本類型與由其它比較小的數(shù)據(jù)類型組成的結構(structure)或數(shù)組(array)聯(lián)合使用。
2、long double和float變量的賦值方法:
3.14159L // long double
6.02e23f // float
3、容易引起理解錯誤的定義語句:int* p,q;
第一眼看去,好像是p和q都是int*類型的,但事實上,只有p是一個指針,而q是一個最簡單的int型變量。同時定義兩個指針的語法是:int *p1, *p2;
4、定義一個指向int[4]數(shù)組的指針變量
int (*p)[4]=RollNum;
這里,p被聲明為一個指向一個4元素(int類型)數(shù)組的指針。
5、未指定size情況下,char數(shù)組的大小由初始化字符串決定:
我們可以用下面兩種方法的任何一種來初始化字符串mystring:
char mystring [ ] = { 'H', 'e', 'l', 'l', 'o', '/0' };
char mystring [ ] = "Hello";
在兩種情況下字符串或數(shù)組mystring都被定義為6個字符長(元素類型為字符char):組成Hello的5個字符加上最后的空字符('/0')。在第二種用雙引號的情況下,空字符('/0')是被自動加上的。兩種情況下sizeof應該都是6,strlen都是5。
六、常用的幾個標準C++函數(shù)
1、cout和cin的用法:
cout << "xxx" << endl;
cin >> "yyy";
2、常用的字符串函數(shù):
strcat //字符串拼接
strcpy
strncpy
strcmp //字符串比較,相同返回0
七、switch-case的寫法
switch (expression)
{
case constant1:
block of instructions 1
break;
case constant2:
block of instructions 2
break;
.
.
.
default:
default block of instructions
}
看過“學c++要了解什么“的人還看了: