-
函數(shù)重載必須要在相同的作用域內(nèi)進(jìn)行,用同一個函數(shù)名定義多個函數(shù),其中參數(shù)個數(shù)和參數(shù)類型不同查看全部
-
申明是函數(shù)可以帶默認(rèn)值,也可以不帶。定義函數(shù)時不能帶默認(rèn)值 無實(shí)參則用默認(rèn)值,實(shí)參覆蓋默認(rèn)值。查看全部
-
一、函數(shù)參數(shù)默認(rèn)值 1.有默認(rèn)值參數(shù)值的參數(shù)必須在參數(shù)表的最右端 2.函數(shù)定義不寫默認(rèn)值,聲明可寫默認(rèn)值 3.無實(shí)參則用默認(rèn)值,否則實(shí)參覆蓋默認(rèn)值 二、函數(shù)重載 1.定義:在相同作用域內(nèi) 用同一函數(shù)名定義的多個函數(shù) 參數(shù)個數(shù)和參數(shù)類型不同 2.思考:編譯器如何識別重載的函數(shù) 三、內(nèi)聯(lián)函數(shù) 1.關(guān)鍵字:inline 2.內(nèi)聯(lián)編譯是建議性的,又編譯器決定 邏輯簡單,調(diào)用頻繁的函數(shù)建議使用內(nèi)聯(lián) 遞歸函數(shù)無法使用內(nèi)聯(lián)方式 inline 內(nèi)聯(lián)編譯是建議性的,由編譯器決定。邏輯簡單,調(diào)用頻繁的函數(shù)建議使用內(nèi)聯(lián)。遞歸函數(shù)無法使用內(nèi)聯(lián)方式。 總結(jié) 函數(shù)參數(shù)默認(rèn)值 實(shí)參覆蓋默認(rèn)值。 函數(shù)重載 名稱相同參數(shù)可變。 內(nèi)聯(lián)函數(shù) 效率高,由編譯器決定是否使用 inline 函數(shù)名 for 和while循環(huán)不要用內(nèi)聯(lián)函數(shù) 遞歸函數(shù)無法使用內(nèi)聯(lián)方式 c++函數(shù)新特性: 聲明函數(shù)參數(shù)默認(rèn)值:有默認(rèn)參數(shù)值的參數(shù)必須在參數(shù)表的最右端(從右向左左邊的可有可無參數(shù))如:void fun(int i,int j=5,int k)為錯,(int i,int k,int j=5)為正確 函數(shù)在聲明時可以寫參數(shù)默認(rèn)值,但是在定義時不要寫默認(rèn)值 函數(shù)在無實(shí)參時則用默認(rèn)值,有實(shí)參時覆蓋默認(rèn)值 函數(shù)重載: 在相同作用域內(nèi),用同一個函數(shù)名定義多個函數(shù),函數(shù)的參數(shù)個數(shù)或參數(shù)類型不同 重載好處:比如求最大值(有時候要求兩個數(shù)的最大值,有時候三個數(shù)),根據(jù)參數(shù)及返回值的不同調(diào)用最合適的函數(shù) 內(nèi)聯(lián)函數(shù):可以省掉2和4兩個步驟的時間,定義內(nèi)聯(lián)函數(shù)inline 類型 函數(shù)名(參數(shù)) http://img1.sycdn.imooc.com//55864f5f0001f94612800720-120-68.jpg 內(nèi)聯(lián)函數(shù)只是建議性的,要不要內(nèi)聯(lián)由編譯器決定 邏輯簡單(不包含循環(huán)),調(diào)用頻繁的函數(shù)建議使用內(nèi)聯(lián) 遞歸函數(shù)無法使用內(nèi)聯(lián)方式 如果函數(shù)形參有默認(rèn)值,則參數(shù)列表中最右邊的參數(shù)必須有默認(rèn)值?。。?! 在函數(shù)聲明時可以有函數(shù)參數(shù)默認(rèn)值,但是在函數(shù)定義的時候最好不要帶默認(rèn)值! 函數(shù)重載,表現(xiàn)在函數(shù)返回類型,形參類型、個數(shù) 內(nèi)聯(lián)函數(shù),關(guān)鍵字inline,調(diào)用時相當(dāng)于把函數(shù)代碼在調(diào)用函數(shù)中展開,節(jié)省了調(diào)用時間和返回時間,效率高,但是注意遞歸函數(shù)無法作為內(nèi)聯(lián)函數(shù)。。。查看全部
-
#include <iostream> using namespace std; int main(void) { //定義常量count const int count = 3; const int *p = &count; //打印count次字符串Hello C++ for(int i = 0; i < *p; i++) { cout << "Hello imooc" << endl; } for(int i = 0; i < 3; i++) { cout << "你好!" << endl; } for(int i = 0; i < count; i++) { cout << "慕課網(wǎng),我愛你" << endl; } return 0; }查看全部
-
B.int a = 3; int const *p = &a; C.int a = 3; int * const p = &a; D.const int a = 3; int const &b = a; 指針指向const修飾的變量時,應(yīng)該是const int const *p = &a;而不是int const *p=&a;這么做有風(fēng)險查看全部
-
#include <iostream> #include <stdlib.h> using namespace std; int main() { int x=3; int const *p=&x; //const int *p=&x; *p=5; //錯誤,*p是常量,不能賦值 x=5; //對 int y=5; int *const p=&x; p=&y; //錯,p被const修飾后變?yōu)槌A浚荒茉僦赶騽e人 *p=10; cout<<x<<endl; //輸出x=10 }查看全部
-
可變的指針不能指向不可變的變量。const int x=3; int *y=&x; 錯(權(quán)限大的變量接收權(quán)限小的變量存在風(fēng)險) int x=3; const int *y=&x; (權(quán)限小的變量接收權(quán)限大的變量)查看全部
-
別名被const修飾后也不能再次賦值查看全部
-
const與引用:定義后的常量,不能再次賦值查看全部
-
const與引用:定義后的常量,不能再次賦值查看全部
-
const與引用:加了const修飾符的別名不能修改查看全部
-
const與指針類型查看全部
-
const與指針類型查看全部
-
const與指針類型查看全部
-
const與指針類型 1.const int *p=NULL; 2.int const *p=NULL; 1與2完全等價 3.const int *const p=NULL; 4.int const *const p=NULL; 3與4完全等價查看全部
舉報(bào)
0/150
提交
取消