c++ - 这是一个对象析构函数吗?
问题描述
我正在尝试理解 C++ 代码。*.h
文件中写入以下内容
Sys(int w, int h, Eigen::Matrix3f K, bool enableSys = true);
Sys(const Sys&) = delete;
Sys& operator=(const Sys&) = delete;
~Sys();
Line 2和Line 3的解释是什么?
那些是破坏者吗?
为什么需要它们?
这是一个好习惯吗?
解决方案
第 2 行是一个复制构造函数,将其设置为= delete
意味着它将不可用。实际上,无法复制对象。
第 3 行是复制赋值运算符,效果相同 - 不允许对对象进行复制赋值。
如果您不清楚这一点,您应该阅读一本关于 C++ 的好书。
推荐阅读
- c - c中的数组函数/追加/删除基本
- java - 线程性能建议
- git - 子模块移动后合并冲突
- python - 连接 1 行数据帧时的 Pandas 索引行为
- mysql - 客户从相应列输入值时如何显示MySQL行?
- documentation - 如何使用 Doxygen 生成变更日志?
- machine-learning - 如何使用 to_categorical 将 [[4,7,10],[10,20,30]] 转换为一种热编码
- amazon-web-services - 从 localhost 连接时 AWS RDS 很慢
- gcc - 为什么 gcc -O3 自动矢量化阶乘?那么多额外的指令看起来更糟
- git - How to remove a file from pull request/commit?