- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个可能包含许多顶点的 Shape 类,我正在考虑将复制构造函数/复制赋值设为私有(private),以防止意外地不必要地复制我的重量级类(例如,按值传递而不是按引用传递)。
要复制 Shape,必须特意调用“克隆”或“复制”方法。
这是好的做法吗?我想知道为什么 STL 容器不使用这种方法,因为我很少想按值传递它们。
最佳答案
限制您的用户并不总是一个好主意。仅记录复制可能很昂贵就足够了。如果用户真的想要复制,那么通过提供复制构造函数来使用 C++ 的 native 语法是一种更简洁的方法。
因此,我认为真正的答案取决于上下文。也许你正在编写的真实类(而不是虚构的 Shape)不应该被复制,也许它应该被复制。但作为一种通用方法,我当然不能说应该通过强制用户使用显式方法调用来阻止用户复制大型对象。
关于c++ - 通常使重量级类不可复制是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2478717/
在我生活的世界中,构建一个将所有飞镖都扔到墙上的解决方案,并希望其中一些能命中靶心是一种非常糟糕的解决方案方法。 那么,我的问题出现了,什么时候在约定可接受的生产系统中使用 INSERT IGNORE
在数据处理时,经常会因为index报错而发愁。不要紧,本次来和大家聊聊pandas中处理索引的几种常用方法。 1.读取时指定索引列 很多情况下,我们的数据源是 CSV 文件。假设
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 6 年前。 Improve
我是一名优秀的程序员,十分优秀!