C++ 初學者之路 第一天

程式碼規範

  38. 將IDE的制表符(TAB) 設置為 4 個空格

  68. 函數必須將返回值明確列出(不要交給編譯器處理)

typedef

  3. 代表類型的的名字必須首字母大寫,其他字母大小寫混合

  Ex:  typedef ........  NewTypeName

#define

  5.命名常量(包括枚舉enum) 須由大寫並由底線分割

  Ex: #define MAX_ITERATION 30

bool 型別 與 int 型別

  26. bool變數/函數 命名應使用前綴 is

  Ex: isSet, isVariable 有可能也使用 has can should

  39.斷行需明顯:逗號or運算符後換行,新行要對齊

型別轉換(type conversion)

C style:

  (type) value

Ex:  (int) 2.5

C++ style:

  static_cast<type> value

Ex:static_cast<double>(1)/2 --> 0.5

  45. 型別轉換需顯式聲明,永遠不要依賴隱式轉換

  Ex: float value = static_cast<float>(int value) (o)

float value = int value (x)

變數初始化

int x = 1;  C & C++

int x(1);  物件導向style

注意: 不能先宣告變數 在使用物件導向style

  Ex: intx; x(1); [Error]

一元作用域解析運算符 (Unary Scope Resolution)

int v1 = 10;

int main(){

  int v1 = 5;

  std::cout << v1 << std::endl;

  std::cout << ::v1 << std::endl;  (全域v1)

}

多載函式 (overloading Function)

  只看 參數的個數,類型,次序 而不是 return值

混淆調用(Ambigous Invocation)

  def:函數調用時,有多個匹配項編譯器無法確定

函數預設參數(Default Arguments)

  定義時,預設值應後置

    Ex: void t1(int x, int y=0, int z)      (x)

void t2(int x, int y=0, int z=0)  (o)

  調用時,實參數應前置

    Ex: t1(1,  ,20)    (x)

t2(1,2)         (o)

注意: 函數預設必須將宣告與定義寫在一起,不可分開

內聯函數(Inline Function)

  用 function

    優:易讀,易維護

    缺:重複呼叫會增加性能開銷

  Inline function

    目的:減小開銷

    方法:將函式插入調用處(利用空間換時間)

    結果:program 變大

注意: 函式宣告inline 僅僅是請求編譯器,並不是命令

參考 (Reference)

參考又稱為別名

  Ex: int x; int& rx = x;

利用參考的操作實際上就是用於原變量

  51. C++ pointer and reference 應該靠近型別 而非變數

  Ex: float* x   (o)    float *x    (x)

    int& x = y;  (o)  int &x = y    (x)

Pass by Reference : Reference 可做函數參數,調用使用普通變量即可

  function: swap(int& a, int& b);

  調用時:  swap(num1, num2);

& 有三種意義 取址 參考 關係運算子 利用規範來分辨

  緊靠型別多參考 (為何是多? 因為沒按照規範就要自己判斷)

  靠近變數多取址

  夾在中間是關係

  70. C++中 0完全代替了NULL 廢止了NULL

时间: 2024-12-22 17:44:50

C++ 初學者之路 第一天的相关文章

七日Python之路--第一天

网上的资源师丰富的.但难免有些过时的信息,比如我现在使用的是去年下载的python3.3,而网上多数都是Python2.7. 差别比较大的就是:①读取用户输入raw_input()已经不能使用,只能使用input().②文件读取file()也不能使用了,被替换成了open(). 入门教材算是看的<简明Python教程>:地址 http://sebug.net/paper/python/index.html 一共16个章节,大约两个小时看完.这样算是入门了吧. 由于之前研究Java方向是WEB方

黑客之路第一期笔记

黑客攻击的常用手段 口令猜解攻击 恶意代码攻击 缓冲区溢出攻击 网络欺骗攻击 网站功防 阻塞攻击 文件上传漏洞攻击 跨站脚步攻击 弱密码攻击 网络旁注攻击 后门分类 账号后门 漏洞后门 系统服务后门 木马后门 黑客之路第一期笔记

Python學習筆記 第一課 Basic Information of Python

因學校習作需要而研究Python 使用教材:Python3.4.1 Official Documentation - The Python Standard Library Chapter 1 Basic Information of Python 1) Nature of Python: a high-level, interpreted language 2) Aim of Python: to automate tasks on computers 3) Examples of usage

Git 初學筆記 - 指令操作教學

Git 是分散式的版本控制系統, 從架設.簡易操作.設定, 此篇主要是整理 基本操作.遠端操作 等. 註: Git 的範圍太廣了, 把這篇當作是初學入門就好了. 注意事項 由 project/.git/config 可知: (若有更多, 亦可由此得知) origin(remote) 是 Repository 的版本 master(branch) 是 local 端, 正在修改的版本 平常沒事不要去動到 origin, 如果動到, 可用 git reset --hard 回覆到沒修改的狀態. Gi

Python学习总结之路--第一周

前言:35岁了,工作10年了,一直很排斥学软件编程,但是IT这条路一路走来发现如果不改变这辈子就这样了! 学Python是意外,也是缘分.前年的时候就看到有同事学这,那时他刚参加工作不久.今年他从我们公司走了, 去了甲方,年薪27W.然后我却没有进入我主导的项目甲方.双重打击让我郁闷了很久很久.无意中点开领导发的一次腾讯的免费课堂学习,既然是Python. 学习资料的来源.免费课程很坑,直播的时间我老是有事,录播的视频老是不给更新.所以我就从网上买了一份Python的学习视频,这就开启了我想学P

linux运维之路第一篇章:决心书

这一次很有毅力的选择了linux运维的这条路 为什么会这样选择? 自身往技术发展的需求! 身边朋友的推荐! 对在北京生活的一种追求! 来到北京很多人是想着挣钱的,我也是一样,在北京一家不知名的民办学校上了二年学,呵呵,就是野鸡大学,虽然学校对于教育放来来说不是怎么回事,但是对于技术方面还有两把刷子,可能自己对于网络有写喜欢,学了电子商务,工作之后做了SEO优化,到如今也有近两年的时间了.两年自己一直处在底薪阶层(3~6k),然而谁没有一个追求,展现自身更多的价值,拿更高的薪资,过上更好的生活,也

Python之路第一课Day2--随堂笔记

入门知识拾遗 一.bytes类型 bytes转二进制然后转回来 msg="张杨" print(msg) print(msg.encode("utf-8")) print(msg.encode("utf-8").decode()) 二.三元运算 如果条件为真:result = 值1如果条件为假:result = 值2 三.进制 二进制,01 八进制,01234567 十进制,0123456789 十六进制,0123456789ABCDEF  二进制

老男孩老師課程學習筆記----第一階段Linux命令行總結

~相信自己,勤奮努力,不斷總結!~ 1.mkdir make directorys 創建目錄   例子: mkdir /data 在根/下創建data目錄   -p 遞歸創建目錄 例子: [[email protected] /]# mkdir -p /oldboy/test/a/b/c/d   (-p 遞歸創建目錄) [[email protected] /]# tree /oldboy/(如果tree沒有,可以yum install tree -y) /oldboy/ └── test   

省赛之路第一天

今天是清明假期第一天,原定的到洛阳玩也成为了虚无缥缈的东东了吧,cb这位还有说的太对了,no game,no girlfriend,no holiday,only maching!这都不是什么大事,毕竟自认为还是个肯吃苦的人吧,但是组队形势不容乐观啊,由于人数的原因,我和一个大二的还有一个软件的临时组成了一个队伍,虽然我们这样组实力还算可以,但是,仔细想想就可以想到,大二的不会跟我们大一的组的,现在只是练练,临时组队,软件的因为软件学院的水平有限,也会让我们工作室过去人,那么那个软件学院的一定会