EE_DSnP 板


LINE

根据 HW#9 改写了一下... 今天听不太懂 functional object 的人可以 download funcObj.tgz 下来研究一下: http://0rz.tw/f45dP 重点有 --- [main.cpp] int main() { Graph gg(SIZE); gg.readGraph(); gg.dfsTraverse(DoPrint()); <== 这是呼叫什麽? DoGenList doList(SIZE); <== 呼叫 constructor 还是 operator()? gg.dfsTraverse(doList); <== 为什麽不直接 gg.dfsTraverse(DoGenList()) ? cout << "There are " << doList.size() << " vertices in the graph!!\n"; system("pause"); } [graph.h] class DoVertex { public: DoVertex() {} virtual ~DoVertex() {} virtual void operator() (Vertex *) const = 0; }; class DoPrint : public DoVertex { public: void operator() (Vertex *) const; }; class DoGenList : public DoVertex { public: DoGenList(unsigned n) { _list.reserve(n); } void operator() (Vertex *) const; unsigned size() const { return _list.size(); } private: mutable vector<Vertex *> _list; <== What is mutable? Why? }; [graph.cpp] void Graph::dfsTraverse(const DoVertex& doV) { Vertex::incGlobalRef(); _root->dfsTraverse(doV); } void Vertex::dfsTraverse(const DoVertex& doV) { if (isGlobalRef()) return; // visited setToGlobalRef(); for (unsigned i = 0; i < _numToVertices; ++i) _toVertices[i]->dfsTraverse(doV); doV(this); } void DoPrint::operator() (Vertex *v) const { cout << 'v' << v->getId(); unsigned n = v->getNumToVertices(); if (n != 0) { cout << " ("; for (unsigned i = 0; i < n; ++i) cout << 'v' << v->getToVertex(i)->getId() << ' '; cout << '\b' << ')'; } cout << endl; } void DoGenList::operator() (Vertex *v) const { _list.push_back(v); } --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.224.47.139
1F:推 bonoshi:想问一下,vector<Vertex *>、_list.reserve() 01/12 22:50
2F:→ bonoshi:_list.push_back(v)有哪些功能?从以前就有一直看到vector 01/12 22:52
3F:→ bonoshi:不过一直看不大懂 01/12 22:52
4F:→ ric2k1:They are part of STL (Standard Template Library) 01/12 23:11
5F:→ ric2k1:明天会教... 01/12 23:11
6F:推 bonoshi:刚刚找到一个网址,http://0rz.tw/e45kj,里面有关於 01/12 23:50
7F:→ bonoshi:vector的简单教学,原来它是一个模拟的阵列,不过看起来 01/12 23:51
8F:→ bonoshi:功能非常丰富,其中像是size()、begin()和end()老师之前有 01/12 23:54
9F:→ bonoshi:当成作业让我们练习过 01/12 23:54
10F:→ ric2k1:嗯嗯, STL 很好用, 学写程式必备! 01/13 00:29
11F:→ ric2k1:推荐一个 STL 好用的网站: http://www.sgi.com/tech/stl/ 01/13 00:30
12F:→ ric2k1:我都拿它来当 STL 的字典来查, 尤其是 Table of Contents 01/13 00:31
13F:→ muxiv: 嗯嗯, STL 很好用 https://muxiv.com 07/12 00:10







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP