Windows客户端C/C++编程规范“建议”——函数调用
生活随笔
收集整理的這篇文章主要介紹了
Windows客户端C/C++编程规范“建议”——函数调用
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
3 函數(shù)調(diào)用
3.1?謹(jǐn)慎使用遞歸方法
等級(jí): 【推薦】說明:遞歸方式控制不當(dāng),可能會(huì)導(dǎo)致??臻g不夠而崩潰。一般的遞歸都可以使用循環(huán)代替。
3.2 不要使用using namespace
等級(jí): 【必須】說明:這是曾經(jīng)教科書上的一種寫法,但是該方法存在嚴(yán)重的缺陷。因?yàn)槿绻鄠€(gè)不同的namespace里定義了相同名字的變量或者函數(shù)。將導(dǎo)致無法預(yù)知和理解編譯器最終使用的是哪個(gè)命名空間中的數(shù)據(jù)。
? ? ? ? 例子:
//file1
namespace Space1{int g_Private = 0;
};//file2
namespace Space2{int g_Private = 0;
};// file3
#include "file1.h"
#include "file2.h"
using namespace Space1;
using namespace Space2;
g_Private = 1;? ? ? ??上例中g(shù)_Private =1;到底改的是哪個(gè)命名空間里的數(shù)據(jù)呢?所以我們要改成:
#include "file1.h"
#include "file2.h"
Space1::g_Private = 1;
Space2::g_Private = 1;
3.3?提供給外部使用的接口函數(shù)要使用namespace控制
等級(jí): 【要求】說明:可以通過域名保證被調(diào)用接口更加釋義,減少命名沖突。
3.4?調(diào)用有返回值的函數(shù)時(shí)需要處理其返回值
等級(jí): 【要求】說明:我們?cè)诖a邏輯設(shè)計(jì)時(shí),需要考慮被調(diào)用函數(shù)不同返回值的處理邏輯,因?yàn)橛脩舻沫h(huán)境無法假設(shè)。
(轉(zhuǎn)載請(qǐng)指明出于breaksoftware的csdn博客)
總結(jié)
以上是生活随笔為你收集整理的Windows客户端C/C++编程规范“建议”——函数调用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows客户端C/C++编程规范“
- 下一篇: Windows客户端C/C++编程规范“