[分享] Coding & Life

楼主: sunhextfn (阿毛)   2015-02-18 20:48:48
先前在回家的路上跟你一起瞎掰...
已经想po很久了,最近才知道有c_and_cpp版,或许po在这比较合适...?
应该没有违规吧~就把本文当作复习C++语法吧XD
老师上课讲到...假如人生是程式,那么...
假如每个人的人生都是一个故事,programmer是这故事的全知者。
假如故事是用C/C++语言写下,g++是故事的编辑者,检查有没有语法错误,帮它打印,装
钉成书,于是得到属于每个人的执行档...
#include 是引用其他人的故事,或者说是故事的前传。
main function是故事的主线
故事中,global variable是故事的主角,local variable是主角在各个阶段遇到的配角,
配角在主角脱离他的scope后就归还给内存,
static variable是超越scope的配角,
主角可以在任何scope用operator:: 进入class和他联络。
operator是人们之间沟通的方式。
function是主角会遇到的支线任务,这些任务可能需要和别人一起完成。
pass by value,是间接地,复制那人的经验,学习那人的能力,才能胜任这个任务。
pass by reference,是那个人直接和你一起完成任务。
array是一堆对主角有类似影响的人群。
pointer是人们之间的对话纪录,pointer标记这些对谈在主角memory内的位置,
可以将pointer cast成不同的形态去回忆这个memory,但如果memory错乱,会
segmentation fault,人会崩溃。
就像C++是物件导向,这些故事也是以人为本。//跟司马迁写史记一样
class可以是个人,也可以是群体。
每个人都是一个object,object有它所属的class,class之间可能有inheritance关系
多个小class也可以集合成一个大class,这就是一个群体。
class的data member就是这个群体的成员,
member function是这个群体会做的事情。
public区域是外界可以观察到这个群体的范围,
protected区域是这个群体继承给他的下一代时的资源,
private区域是这个群体之内的小秘密。
virtual function是base class(爸妈)教小孩(derived class)的一些基础技能,但小孩
做起来的样子可能跟爸妈不一样。
polymorphism(用base class pointer指向derived class memory),就像爸妈让小孩自由
发展。
作者: dritchie (卍~迈斯纳效应~卍)   2015-02-18 22:41:00
一个好的故事应该要没有global variable的说
作者: tjjh89017 (伊达政宗)   2015-02-18 23:26:00
可是global variable还是很重要啊,写系统不可能没有他
作者: APE36 (PT乡民)   2015-02-18 23:46:00
推,可以写得更写实一点
作者: a27417332 (等号卡比)   2015-02-19 00:58:00
推,写得很棒
作者: ahwater01 (臭酸咖)   2015-02-19 11:34:00
很好奇楼上要做什么XD
作者: yushiung (shawn)   2015-02-19 21:06:00
推推
作者: tinlans ( )   2015-02-20 03:30:00
程式设计不要停留在语法层级太久,不然容易走火入魔,然后又没有培养到开发或维护大型软件系统的能力。
作者: NilPtr (神奇的空指标)   2015-02-21 02:44:00
Memory leak、Dangling pointer、Implicit type castGod object、Hiding inherited names,嗯...有很多可以写
作者: pizzafan (七情三想)   2015-02-21 09:57:00
我只是[乱入]一下

Links booklink

Contact Us: admin [ a t ] ucptt.com