C_and_CPP 板


LINE

这题我个人是觉得满单纯的 应该是没有必要用到pimpl 写了一份比较草率的代码 有其他想法欢迎指教 基本类别AC http://codepad.org/ZZR2s2Mg 在这边你看不到子类别的实作 甚至连Class宣告都看不到 继承类别DC指标生成 http://codepad.org/3JIJmpbY 按照原PO老板要求 写在cpp里面 用户端呼叫 http://codepad.org/S7sj9wYz 原PO原本写的doSomething那边 将this指标回传 我是有点搞不懂应用情境 毕竟取得instance的手段就已经可以透过NewAbstract生成 这个时候物件管理职责应该是到客户端那边 小弟拙见是用object pool来解决 让class的static member function来做处理 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.25.45.154
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1484200970.A.3B7.html
1F:→ bluesoul: 无法用object 01/12 14:28
敢问高见 我试了一下 确实会有些介面的问题(不该裸露的介面会暴露) 有没有更好的解法? 2017/01/12 15:41更新 Pool、基本类别AC http://codepad.org/h8EcO50C Pool物件建立、继承类别DC http://codepad.org/eUtUZEvZ 用户端呼叫(Pool初始化、建立物件、Pool销毁) http://codepad.org/RecSMm3b 有些地方写得不是很严谨 大概一个概念 不知道各位前辈 有没有什麽建议 分析 谢谢
2F:→ uranusjr: 怎麽讲的好像 Pimpl 是多难上手的高深技术 囧 01/12 14:40
3F:→ bachelorwhc: pimpl没很难 只是在这个case没必要 01/12 14:42
4F:→ bachelorwhc: 对方的要求是要隐藏data member跟把继承写在cpp 01/12 14:44
5F:→ bachelorwhc: 我觉得跟pimpl没啥关系 01/12 14:44
6F:→ bachelorwhc: pimpl我会拿去处理其他问题 尤其是runtime时期的变化 01/12 14:45
7F:→ bachelorwhc: 还有跟policy组合 01/12 14:46
8F:→ bachelorwhc: 个人见解 01/12 14:46
※ 编辑: bachelorwhc (114.25.45.154), 01/12/2017 15:12:32 ※ 编辑: bachelorwhc (114.25.45.154), 01/12/2017 15:46:45
9F:→ firose: CreateACPtr 跟 getThis 把 shared_ptr<> 跨 dll 传递 01/12 20:37
10F:→ firose: 不知是否可以? 01/12 20:37
11F:推 noodleT: DoSomething 需要回传的是一个新的类别,不是 this 01/12 21:51
12F:→ noodleT: 比如说有个向量A,B 01/12 21:54
13F:→ noodleT: double L = A.cross(B). length(); 01/12 21:54
14F:→ noodleT: 这时候 cross 回传一个新指标,没有人负责 delete 01/12 21:54
15F:→ bachelorwhc: got it 这样就可以明白了 01/12 21:55
16F:→ bachelorwhc: 这样不是回传this 而是新的指标 用smart pointer不是 01/12 21:55
17F:→ bachelorwhc: 即可解决问题? 01/12 21:55
18F:推 noodleT: 但在 c++11 之前的解决办法为? 01/12 21:57
19F:→ bachelorwhc: 你那边如果有auto_ptr 可以考虑用 01/12 21:59
20F:→ bachelorwhc: 如果没有的话 我会自己写物件管理机制 01/12 21:59
21F:→ bachelorwhc: 但有时物件小 其实我会考虑复制物件 01/12 22:00
22F:→ bachelorwhc: 像你说的向量 我觉得到不用回传指标 01/12 22:00
23F:→ bachelorwhc: 实际上我是看生产物件的生命周期跟用途而定 01/12 22:01
24F:→ bachelorwhc: 所以做法可能会差满多的 01/12 22:01
25F:推 noodleT: B 大前三个 code 是我目前做法 01/12 22:08
26F:→ firose: 觉得应该要像上篇推文用 rawptr + deleter 给 shared_ptr 01/12 22:46
27F:→ firose: 而非跨模组传智能指标,这样有版本问题及ABI不相容之类的 01/12 22:47
28F:推 lovejomi: 介面包含stl不是不好吗? stl版本不一致不就坏了? 01/12 22:48
29F:→ bluesoul: pimpl就是为了隐藏实作而来,只需要付出多一个指标的代 01/13 01:59
30F:→ bluesoul: 价。直接生成物件,完全不需要管理生命周期。你目前的 01/13 01:59
31F:→ bluesoul: 做法反而让问题变得复杂,也不好用 01/13 01:59
32F:→ uranusjr: 但他觉得这个简单的方法没必要啊 (完全搞不懂逻辑) 01/13 02:36
33F:→ bachelorwhc: @bluesoul 请问我前三份代码跟pimpl差在哪? 我只用 01/13 11:17
34F:→ bachelorwhc: 继承多型就能够处理这个问题 01/13 11:18
35F:→ bachelorwhc: 我的疑问是原PO原文中的doSomething 我不知道他的意 01/13 11:18
36F:→ bachelorwhc: 思 以为要回传this 所以才提出用object pool解决生命 01/13 11:18
37F:→ bachelorwhc: 期问题 01/13 11:19
38F:→ bachelorwhc: 想请问 @bluesoul @uranusjr 我前三份代码 哪里没隐 01/13 11:20
39F:→ bachelorwhc: 藏实作? 我甚至不需要在父类别新增pimpl的data 01/13 11:21
40F:→ bachelorwhc: member 01/13 11:21
bachelorwhc: 原PO前辈要求"只能在 . h 档中透漏 member function 01/13 11:26 bachelorwhc: 所以给客户(PM)的必须为抽象类别" 想请问一下 你抽象 01/13 11:27 bachelorwhc: 类别有pimpl 没办法实例化 有什麽用? 01/13 11:27 bachelorwhc: 我是照着题目要求走啦 "只给抽象类别 无data member" 01/13 11:29 ※ 编辑: bachelorwhc (114.25.45.154), 01/13/2017 11:33:05







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灯, 水草

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

TOP