国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
[原創(chuàng)]c++語言程序設(shè)計超級簡單了解 邪惡八進制信息安全團隊官方論壇 - 努力為信息安全撐起一片藍天 - EvilOctal Security Team - E.S.T

c++語言程序設(shè)計超級簡單了解

信息來源:邪惡八進制信息安全團隊([url]www.eviloctal.com[/url])
文章作者:金州

c++語言程序設(shè)計超級簡單了解


千里之行,始于足下。

這是非常非常非常表面的介紹,是為一點都不知道的朋友寫著玩的。也許你看過之后什么都沒有
收獲到,一直罵作者是個sb.那么我請您原諒耽誤了您的時間,先表示抱歉了。呵呵

一。結(jié)構(gòu)程序設(shè)計方法,要點。.三種基本控制結(jié)構(gòu)。順序,循環(huán),選擇
選擇結(jié)構(gòu),兩種。if switch
if形式1.if   2. if else 3. if else if else if
switch(多分支選擇,金州注釋)
switch
{case 常量表達式1 :語句1
case 常量表達式n :語句n
default:語句n+1
}
循環(huán),while(沒有什么解釋的,先判斷,后執(zhí)行,金州注釋)
例子,求1到100整數(shù)和
#include <iostream.h>   (套入函數(shù),金州注釋)
 void main()         (下面主體,金州注釋)
 {                
  int i, sum = 0;     (定義i,賦予數(shù)值1,總和開始為0,金州注釋)
  i = 1;
  while(i <= 100) (循環(huán)下面部分,當(dāng)i<100,判斷條件,金州注釋)
  {
   sum += i;   (加,一直加,金州注釋)
   i++;
  }         (循環(huán)結(jié)束,金州注釋)
  cout<<"sum = "<<sum;   (搞出來結(jié)果,字符串sum=那個結(jié)果。金州注釋)
 }
do-while 循環(huán)(先執(zhí)行,后判斷)
例子,還舉上面那個,就是求1到100整數(shù)和
#include <iostream.h>
 void main()
 {
  int i, sum=0;     (定義賦值。金州注釋)
  i = 1;
  do             (下面是循環(huán),金州注釋)
  {
   sum += i;
   i++;
  }while(i<=100);   (條件,如果條件滿足就循環(huán),金州注釋)
  cout<<"sum = "<<i;
 }
for循環(huán),
例子,還是上面那個,求1到100整數(shù)和
#include <iostream.h>
 void main()
 {
  for(sum = 0, i = 1; i <= 100; i++)sum += i;
  cout<<"sum = "<<sum;
 }
(就是1-2-3-2-3-2-3(1指的是表達式),如果2不滿足,結(jié)束。金州注釋)

二,語言基礎(chǔ):
看例子比較方便了解,
//simple.cpp是一個簡單的C++程序 (標(biāo)準(zhǔn)注釋方法,不執(zhí)行,我沒有用這種注釋,金州注釋)
#include <iostream.h> (一個文件頭,金州注釋)
void main(void)   (函數(shù),金州注釋)
{             (main函數(shù)體開始標(biāo)記,金州注釋)
int i;         (聲明一個變量,金州注釋)
cout<<"jinzhou sb!";       (輸出,后面的東西,金州注釋)
cout<<"請輸入一個整數(shù):\n"; (\n是換行的意思,<<輸出符號,金州注釋)
cin>>i;               (輸入,后面的東西。金州注釋)
cout<<"輸入的整數(shù)是:";  
cout <<i;
cout <<‘\n‘;   (上三行簡寫:cout<<"您輸入的整數(shù)是:" <<i <<‘\n‘;)
}           (主體結(jié)束,金州注釋)
(Visual C++6編譯連接運行后,就是屏幕上出現(xiàn)“jinzhou sb!請輸入一個整數(shù)”
然后你隨便輸入一個,回車,得到“輸入的整數(shù)是:”,就是你輸入的那個,大
概明白是這么個格式就行了。注意一點的就是,函數(shù)定義返回類型為void,不用返回
,如果定義為int,則不同。如下。金州注釋。)
int main()
{
 …
 return 0;
}
(還有就是c++區(qū)分大小寫,一般命令小寫多,常量大寫多。變量混用多。金州注釋)
數(shù)據(jù)類型略過。大多類似的。
變量使用舉一個簡單的例子。
#include <iostream.h>
int main (void)  
{
int workDays = 5;     (定義一個整型變量,初始化為5,金州注釋)
float workHours, payRate, weeklyPay;   (實型變量三個,金州注釋)
workHours = 7.5; payRate = 38.55;   (賦值,金州注釋)
weeklyPay = workDays * workHours * payRate; (乘法運算,金州注釋)
cout << "Weekly Pay = " << weeklyPay << ‘\n‘; (輸出換行,金州注釋)
}

就是計算工資呢。
例子,打印給定半徑的圓的面積和周長(有常量定義的實例程序)
void main()
{
 const double PI = 3.1415926535898;   (定義圓周率常量PI,金州注釋)
 double radius;   (定義圓半徑變量,金州注釋)
 double area;   (定義圓面積變量,金州注釋)
 double circumference;   (定義圓周長變量,金州注釋,)
 cout << "輸入半徑 : ";   (輸出,屏幕顯示,金州注釋)
 cin >> radius;       (輸入,金州注釋)
 area = PI*radius*radius; (面積公式,金州注釋)
 circumference = 2.0*PI*radius;   (周長共識,金州注釋)
 cout << "面積 " << radius << " is "
 << area << " \n";
 cout << "周長是 " << circumference   (輸出到屏幕,金州注釋)
<< ";
}
(注意定義常量的形式為 const 類型 名字 = 值。)


三,運算符和表達式
要注意的是:
+ + 自加(前綴) ++valuel + 10 // 得出16,valuel變?yōu)?
+ + 自加(后綴) valuel++ + 10 // 得出15,valuel變?yōu)?
- - 自減(前綴) --valuel + 10 // 得出14,valuel變?yōu)?
- - 自減(后綴) valuel-- + 10 // 得出15,valuel變?yōu)?
(其實質(zhì)就是用‘++‘代替了"+1"(后綴)和"1+"(前綴)、‘-‘代替了"-1"。金州注釋)

!   邏輯非   !(5 = = 5) // 得出 0     (0是假,1是真,金州注釋)
&&   邏輯與   5 < 6 && 6 < 6 // 得出 0
||   邏輯或   5 < 6 || 6 < 5 // 得出 1
~   取反 ~‘\011‘ // 得出 ‘\366‘
&   逐位與 ‘\011‘ & ‘\027‘ // 得出‘\001‘
|   逐位或 ‘\011‘ | ‘\027‘ // 得出‘\037‘
^   逐位異或 ‘\011‘ ^ ‘\027‘ // 得出‘\036‘
<< 逐位左移 ‘\011‘ << 2 // 得出‘\044‘
>> 逐位右移 ‘\011‘ >> 2 // 得出‘\002‘
實例 10進制值 二進制值
x   011     0 0 0 0 1 0 0 1
y   027     0 0 0 1 0 1 1 1
~x   366     1 1 1 1 0 1 1 0
x & y 001     0 0 0 0 0 0 0 1
x | y 037     0 0 0 1 1 1 1 1
x ^ y 036     0 0 0 1 1 1 1 0
x << 2 044   0 0 1 0 0 1 0 0
x >> 2 002   0 0 0 0 0 0 1 0
運算例子,
#include <iostream.h>
void main( )
{
 int a,b, m=3,n=4;
 a=7*2+-3%5-4/3;//-3%5=-3,4/3=1
 b=m++ - --n;
 cout<<a<<"\t"<<b<<"\t"<<m<<"\t"<<n<<endl;
}
結(jié)果10 0 4 3
例子
#include <iostream.h>
void main( )
{
 char x=‘m‘,y=‘n‘;
 int n;
 n=x<y;
 cout <<n<<endl;
 n=x==y-1;
 cout<<n<<endl;
 n=(‘y‘!=‘Y‘)+(5<3)+(y-x==1);
 cout <<n<<endl;
}
結(jié)果 1 1 2

四,流程控制語句。
if語句;if-else語句;switch語句;while語句;do-while語句;for語句;break語句;continue語句
(都是簡單英語,沒有什么解釋的,哈哈,金州注釋)
五,函數(shù)。
這個解釋多多網(wǎng)上。
舉例子;求長方形面積。
#include<iostream.h>   (C++庫函數(shù)說明,金州注釋)
int area(int length, int width);   ( area函數(shù)說明,定義長寬,金州注釋)
void main()     (主函數(shù),程序從該函數(shù)開始執(zhí)行,金州注釋)
{
 int this_length, this_width;   (定義長寬,金州注釋)
 cout << "輸入長度: "; (cout和cin,就是函數(shù),輸出后面字符串。金州注釋)
 cin >> this_length;   (輸入,金州注釋)
 cout << "輸入寬度: ";   (輸出那句話到屏幕,金州注釋)
 cin >> this_width;
 cout << "\n";         (回車,金州注釋)
 cout << "面積 " << this_length << "x" << this_width;
 cout << " 長方形面積是 " << area(this_length, this_width); (調(diào)用area函數(shù),金州注釋)
}
int area(int length, int width) (area函數(shù)定義,金州注釋)
{
 int number;
 number = length * width;
 return number;
}
例子,比較大小的。
#include <iostream.h>
int max(int a,int b) (調(diào)用這個函數(shù),金州注釋)
{
 if(a>b)return a; (如果則怎么怎么的,金州注釋)
 else return b;
}           (以上是定義max函數(shù)的,金州注釋)
void main()
{
 int max(int a,int b);
 int x,y,z;
 cout<<"輸入兩個數(shù)"<<endl; (屏幕顯示,回車輸入)
 cin>>x>>y;
 z=max(x,y);             (z為比較結(jié)果,金州注釋)
 cout<<"最大的數(shù)="<<z;     (輸出,金州注釋)
}
例子

#include <iostream.h>
void Foo (int num)
{
 num = 0;
 cout << "num = " << num << ‘\n‘;
}
int main (void)
{
 int x = 10;
 Foo(x);
 cout << "x = " << x << ‘\n‘;
 return 0;
}
(這個更簡單,不多說,主要是明白num是一個形參變量num,x是實參變量,實參調(diào)用時
送到形參,但是因為內(nèi)存單元不同,即使num賦值0,并不影響x的值,道理大概理解了
就好,金州注釋)
(不多解釋了,相關(guān)詳細內(nèi)容,要找資料好好揣摩,這里只是簡單說一下,金州注釋)

六,數(shù)組與字符串。
#include <iostream.h>
void main(void)
{
 int marks[4] = {82,92,95,88}; (這個就是數(shù)組,就是這個格式,金州注釋)
 cout<<"第二個元素是:"<<marks[1]<<endl; (四個數(shù)排序是0123,所以1是第二個元素,金州注釋)
}
(這就是定義數(shù)組了,找第二個元素的。92。金州注釋)
例子,求字符串的長度 (這個是字符串的,金州注釋。)
#define MAXLEN 80
#include <stdio.h>
void main(void)
{
 char str[MAXLEN + 1];   (最長加1,因為是從0計算的,金州注釋)
 int l;           (定義長度,這個符號可不是1啊,金州注釋)
 printf("Input a string:"); (輸出,告訴你開始輸入,金州注釋)
 scanf("%s",str);       (檢查你輸入的,如果空,金州注釋)
 l = 0;             (長度0,金州注釋)
 while(str[l] != ‘\0‘) (非空,金州注釋)
 l ++;             (加加,數(shù)出來,金州注釋)
 printf("The length of this string is %d\n",l); (輸出結(jié)果回車,金州注釋)
}

七,指針與引用
指針就是在內(nèi)存中的地址,它可能是變量的地址,也可能是函數(shù)的入口地址。
引用為變量提供了一個別名,變量通過引用訪問與通過變量名訪問是完全等價的。
引用提供了與指針相同的能力,但比指針更為直觀,更易于理解。
int d =1;
int* const p =&d
(有const表示不可修改,p是一個常量指針,它指向一個整型變量。就是d,p本
身不能修改,但它所指向的內(nèi)容卻可以修改:*p =2;這個不大好說,請查閱相
嚴謹詳細資料。關(guān)金州注釋。)
例如:
#include <iostream.h>
#define SIZE 10  
void main()
{
 int array[SIZE]; (聲明整數(shù)數(shù)組,金州注釋)
 int *p=array;     (定義一個整型指針p,給他數(shù)組首地址,金州注釋)
 int i ;         (定義變量i,金州注釋)
 for(i=0;i<SIZE;i++)   (賦值,運算,金州注釋)
  array[i]=i;
 for(i=0;i<SIZE;i++)
  cout<<*p++<<endl;   (*p++就是訪問下一個數(shù)組元素,金州注釋)
 p=&array[8];     (給他array[8]的地址,金州注釋)
 cout<<"array[8]="<<*p<<endl;     (輸出*p,金州注釋)
 cout<<"array[8]="<<array[8]<<endl; (輸出array[8],金州注釋)
}  
(兩個值是一樣的,因為從0開始,所以都是對數(shù)組第9個元素的訪問。金州注釋)
例子:折半查找函數(shù)
int BinSearch (char *item, char *table[],     (就是在table中查找是否含有item的元素)
int n, int (*Compare)(const char*, const char*))   Compare是一個比較函數(shù)指針,金州注釋)
{
 int bot = 0;     (底部0,金州注釋)
 int top = n - 1;   (頂部n-1,金州注釋)
 int mid, cmp;   (定義比較變量,比較,金州注釋)
while (bot <= top) (比較當(dāng)然需要循環(huán),循環(huán)條件,意思就是不空,金州注釋)
 {           (以下循環(huán)內(nèi)容)
mid = (bot + top) / 2;   (mid等于,全部除以2,就是一半,金州注釋)
if ((cmp = Compare(item,table[mid])) == 0) (如果恰好相等,金州注釋)
 return mid;   ( 就是它,金州注釋)
 else if (cmp < 0) (不相等,金州注釋)
    top = mid - 1; ( 查找數(shù)組的下半部,金州注釋)
   else
    bot = mid + 1;   ( 查找數(shù)組的上半部,金州注釋)
 }
return -1; (上面循環(huán)之后,返回-1,沒有找到,因為n就是0了。金州注釋)
}

例如。
char *cities[] = {"Beijing", "Shanghai", "Tianjin", "Zhongqing"};
cout << BinSearch("Tianjin ", cities, 4, strcmp) << ‘\n‘
輸出結(jié)果2
(就是,給出一個數(shù)組,找找“Tianjin”在四個中的位置,2就是在第三個位置。)

八。結(jié)構(gòu) 鏈表
結(jié)構(gòu)(struct)數(shù)據(jù)類型,它能夠識別一組相關(guān)的數(shù)據(jù)。
鏈表也是表示線性數(shù)據(jù)最有用的方法之一,用鏈表保存線性數(shù)據(jù),可以克服數(shù)組的問題
舉例
#include <iostream.h>
#include <string.h>
struct Person_Info {   (個人信息表,下面是相關(guān)內(nèi)容。金州注釋)
 char name[10];
 int age;
 long ssn;
};
void main (void)
{
 Person_Info* p1;     (給個指針,金州注釋)
 p1 = new Person_Info;   (申請內(nèi)存,金州注釋)
 p1->age = 27; ( 給age成員賦值,金州注釋)
 strcpy(p1->name,"jinzhou"); (給name成員賦值 ,金州注釋)
 cout << "Name: " << p1->name << endl; ( 打印name成員,金州注釋)
 cout << "Age: " << p1->age << endl; (打印age成員,金州注釋)
 delete p1;                 (釋放申請的內(nèi)存,金州注釋)
}
簡單例子學(xué)生結(jié)構(gòu)的實例
struct stu
  {
   int num;
   int score;
   stu *next;
  }
(明白這個意思就行了,金州注釋)

九,編譯預(yù)處理
C++提供的編譯預(yù)處理功能主要有以下三種:(一) 宏定義(二) 文件包含(三) 條件編譯
宏定義例子;
#include <iostream.h>, (一定要有,或者出錯,金州注釋)
#define CUBE_THREE 3*3* (用簡單宏定義定義了一個符號常量"CUBE_THREE")
void main()
{
 int a;           (定義變量,金州注釋)
 a=CUBE_THREE;     (賦予值,就是a=3*3*3,金州注釋)
 cout<<"a is"<<a<<endl;   (輸出,結(jié)果為27,金州注釋)
}
(這個意思主要是說可以把常用的東西定義為宏。這個不帶參數(shù),帶參數(shù)的略。金州注釋)
文件包含類的略。
例子:條件編譯命令的一個例子
#include <iostream.h>
#define TIME
void main()
{
 #ifdef TIME             (如果TIME被定義過,輸出下面句話。金州注釋)
  cout<<"Now begin to work"<<endl;
 #else               (如果沒有定義,輸出下面的,金州注釋)
  cout<<"You can have a rest"<<endl;
 #endif
}
(所謂條件,就是有條件的,金州注釋。就是要選擇。哈哈)

十。類與對象
略過,請找尋相關(guān)詳細資料閱讀,不好意思。

十一,繼承與多態(tài)。(略過)
十二,輸入輸出流。
抽象流基類
ios         流基類
輸入流類
istream       普通輸入流類和用于其它輸入流的基類
ifstream      輸入文件流類
istream_withassign 用于cin的輸入流類
istrstream     輸入串流類
輸出流類
ostream      普通輸出流類和用于其它輸出流類的基類
ofstream      輸出文件流類
ostream_withassign 用于cout、cerr和clog的流類
ostrstream.    輸出串流類
輸入輸出流類
iostream      普通輸入輸出流類和用于其它輸入輸出流的基類
fstream      輸入輸出文件流類
strstream     輸入輸出串流類
stdiostream    用于標(biāo)準(zhǔn)輸入輸出文件的輸入輸出類
緩沖流類
streambuf     抽象緩沖流基類
filebuf      用于磁盤文件的緩沖流類
strstreambuf.   用于串的緩沖流類
stdiobuf      用于標(biāo)準(zhǔn)輸入輸出文件的緩沖流類
預(yù)定義流初始化類
iostream_init   預(yù)定義流初始化的類
其中,ios、istream、ostream和streambuf類構(gòu)成了C++中iostream輸入輸出功能的基礎(chǔ)
(略)

  如果你真的捏著鼻子再捏著鼻子讀完的話,也許和我一樣覺得算是了解了c++九牛一毛了,
其實后來才發(fā)現(xiàn)不過是才知道牛是有毛的而已。到現(xiàn)在我也沒有抓住牛頭,據(jù)說編程需要天才,
我沒有哪個天分,哈哈,只是希望有朋友看到之后能夠有一個很大概地了解。不好意思。不過大家可
以常常到邪惡八進制來看看,這里有很多這方面的超級高手,至少算是看看天才的樣子,哈哈
祝福!
                              金州。邪惡八進制
                                  2005.12.17


 

 

定義常量也可以使用define、inline去實現(xiàn)

我建議大家用const和inline而不用#define

這個條款最好稱為:“盡量用編譯器而不用預(yù)處理”,因為#define經(jīng)常被認為好象不是語言本身的一部分。這是問題之一。再看下面的語句:

#define ASPECT_RATIO 1.653

編譯器會永遠也看不到ASPECT_RATIO這個符號名,因為在源碼進入編譯器之前,它會被預(yù)處理程序去掉,于是ASPECT_RATIO不會加入到符號列表中。如果涉及到這個常量的代碼在編譯時報錯,就會很令人費解,因為報錯信息指的是1.653,而不是ASPECT_RATIO。如果ASPECT_RATIO不是在你自己寫的頭文件中定義的,你就會奇怪1.653是從哪里來的,甚至?xí)〞r間跟蹤下去。這個問題也會出現(xiàn)在符號調(diào)試器中,因為同樣地,你所寫的符號名不會出現(xiàn)在符號列表中。
解決這個問題的方案很簡單:不用預(yù)處理宏,定義一個常量:

const double ASPECT_RATIO = 1.653;

這種方法很有效。但有兩個特殊情況要注意。
首先,定義指針常量時會有點不同。因為常量定義一般是放在頭文件中(許多源文件會包含它),除了指針?biāo)傅念愋鸵x成const外,重要的是指針也經(jīng)常要定義成const。例如,要在頭文件中定義一個基于char*的字符串常量,你要寫兩次const:

const char * const authorName = "Scott Meyers";

關(guān)于const的含義和用法,特別是和指針相關(guān)聯(lián)的問題,參見條款21。

另外,定義某個類(class)的常量一般也很方便,只有一點點不同。要把常量限制在類中,首先要使它成為類的成員;為了保證常量最多只有一份拷貝,還要把它定義為靜態(tài)成員:
     

class GamePlayer {
private:
      static const int NUM_TURNS = 5; // constant eclaration  
      int scores[NUM_TURNS];                 // use of constant
      ...
};

還有一點,正如你看到的,上面的語句是NUM_TURNS的聲明,而不是定義,所以你還必須在類的實現(xiàn)代碼文件中定義類的靜態(tài)成員:

const int GamePlayer::NUM_TURNS;         // mandatory definition;
              // goes in class impl.file

你不必過于擔(dān)心這種小事。如果你忘了定義,鏈接器會提醒你。

舊一點的編譯器會不接受這種語法,因為它認為類的靜態(tài)成員在聲明時定義初始值是非法的;而且,類內(nèi)只允許初始化整數(shù)類型(如:int, bool, char 等),還只能是常量。
在上面的語法不能使用的情況下,可以在定義時賦初值:


class EngineeringConstants { // this goes in the class
private:                 // header file
      static const double FUDGE_FACTOR;
      ...
};
      // this goes in the class implementation file
      const double EngineeringConstants::FUDGE_FACTOR = 1.35;

大多數(shù)情況下你只要做這么多。唯一例外的是當(dāng)你的類在編譯時需要用到這個類的常量的情況,例如上面GamePlayer::scores數(shù)組的聲明(編譯過程中編譯器一定要知道數(shù)組的大小)。所以,為了彌補那些(不正確地)禁止類內(nèi)進行整型類常量初始化的編譯器的不足,可以采用稱之為“借用enum”的方法來解決。這種技術(shù)很好地利用了當(dāng)需要int類型時可以使用枚舉類型的原則,所以GamePlayer也可以象這樣來定義:


class GamePlayer {
private:
      enum { NUM_TURNS = 5 }         // "the enum hack" — makes
      // NUM_TURNS a symbolic name  
      // for 5
      int scores[NUM_TURNS];// fine
};

除非你正在用老的編譯器(即寫于1995年之前),你不必借用enum。當(dāng)然,知道有這種方法還是值得的,因為這種可以追溯到很久以前的時代的代碼可是不常見的喲。

回到預(yù)處理的話題上來。另一個普遍的#define指令的用法是用它來實現(xiàn)那些看起來象函數(shù)而又不會導(dǎo)致函數(shù)調(diào)用的宏。典型的例子是計算兩個對象的最大值:


#define max(a,b) ((a) > (b) ? (a) : (b))

這個語句有很多缺陷,光想想都讓人頭疼,甚至比在高峰時間到高速公路去開車還讓人痛苦。
無論什么時候你寫了象這樣的宏,你必須記住在寫宏體時對每個參數(shù)都要加上括號;否則,別人調(diào)用你的宏時如果用了表達式就會造成很大的麻煩。但是即使你象這樣做了,還會有象下面這樣奇怪的事發(fā)生:

int a = 5, b = 0;
max(++a, b);// a 的值增加了2次
max(++a, b+10); // a 的值只增加了1次

這種情況下,max內(nèi)部發(fā)生些什么取決于它比較的是什么值!
幸運的是你不必再忍受這樣愚笨的語句了。你可以用普通函數(shù)實現(xiàn)宏的效率,再加上可預(yù)計的行為和類型安全,這就是內(nèi)聯(lián)函數(shù)(見條款33):


inline int max(int a, int b) { return a > b ? a : b; }
不過這和上面的宏不大一樣,因為這個版本的max只能處理int類型。但模板可以很輕巧地解決這個問題:


template<class T>
inline const T& max(const T& a, const T& b)
{ return a > b ? a : b; }

這個模板產(chǎn)生了一整套函數(shù),每個函數(shù)拿兩個可以轉(zhuǎn)換成同種類型的對象進行比較然后返回較大的(常量)對象的引用。因為不知道T的類型,返回時傳遞引用可以提高效率(見條款22)。

順便說一句,在你打算用模板寫象max這樣有用的通用函數(shù)時,先檢查一下標(biāo)準(zhǔn)庫(見條款49),看看他們是不是已經(jīng)存在。比如說上面說的max,你會驚喜地發(fā)現(xiàn)你可以后人乘涼:max是C++標(biāo)準(zhǔn)庫的一部分。
有了const和inline,你對預(yù)處理的需要減少了,但也不能完全沒有它。拋棄#include的日子還很遠,#ifdef/#ifndef在控制編譯的過程中還扮演重要角色。預(yù)處理還不能退休,但你一定要計劃給它經(jīng)常放長假。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C++入門到理解階段二核心篇(1)——c++面向?qū)ο蟾攀?、?nèi)存分析、引用
C 之C 與C的區(qū)別一
詳解C++中的const關(guān)鍵字及與C語言中const的區(qū)別
數(shù)組名和指針的區(qū)別
C++ 學(xué)習(xí)筆記1 - 日志 - 邱泳天 - 血與榮譽SNS平臺 - Powered by ...
默認參數(shù)與函數(shù)重載,及函數(shù)匹配
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服