C++默认构造函数有什么作用
发表于:2025-01-28 作者:千家信息网编辑
千家信息网最后更新 2025年01月28日,本篇内容介绍了"C++默认构造函数有什么作用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C.44:
千家信息网最后更新 2025年01月28日C++默认构造函数有什么作用Reason(原因) Example, problematic(问题示例) Example(示例)
本篇内容介绍了"C++默认构造函数有什么作用"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
C.44:默认构造函数最好简单而且不会抛出异常
默认构造函数可以将内容设置到默认状态而不需要可能引起失败的操作,简化了错误处理和针对移动操作的推测。
template
// elem points to space-elem element allocated using new
class Vector0 {
public:
Vector0() :Vector0{0} {}
Vector0(int n) :elem{new T[n]}, space{elem + n}, last{elem} {}
// ...
private:
own elem;
T* space;
T* last;
};
这段代码整洁且普通,但是如果过在涉及到内存分配的错误之后生成一个空的Vector0对象时,可能会失败。同时,让默认的Vector表现为{new T[0], 0, 0}有些浪费。例如Vector0
100次内存分配似乎有些问题。译者的理解是只要一次分配100个整数的空间就好。
另外new T[0]有点奇怪。
template
// elem is nullptr or elem points to space-elem element allocated using new
class Vector1 {
public:
// sets the representation to {nullptr, nullptr, nullptr}; doesn't throw
Vector1() noexcept {}
Vector1(int n) :elem{new T[n]}, space{elem + n}, last{elem} {}
// ...
private:
own elem = nullptr;
T* space = nullptr;
T* last = nullptr;
};
使用{nullptr, nullptr, nullptr}让Vector1{}的代价更小,但是特殊的情况,(由于产生了没有数据的情况,译者注)需要运行时检查。在检测到错误之后将Vector1设为空的处理是小事情。
Enforcement(实施建议)提示抛出异常的构造函数。
"C++默认构造函数有什么作用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
函数
分配
内存
内容
情况
错误
作用
C++
更多
知识
示例
译者
问题
处理
实用
整洁
普通
特殊
学有所成
接下来
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
觅家互联网科技发展有限公司
海南专升本数据库历年真题
天融信网络安全培训咋样
服务器采集数据切换ip
数据库创建时间字段怎么查
c 游戏服务器编程
天津网络安全招标
反网络技术侦查
南城金蝶管理软件开发
软件开发类工作与通信工程
access创建数据库连接
wcl 服务器 团队数
国家网络安全创新基金
服务器虚拟化的优势
软件开发费用计入什么服务
形容软件开发团队
教育软件开发方向
服务器系统怎么做文件共享
apace实时数据库
买软件开发
学生论文管理系统数据库代码
上海众人网络安全科技好吗
网络安全专业和数据分析
铁警网络安全与执法专业就业率
服务器4个2t硬盘能分2个区吗
设计数据库表格结构心得
论文用什么数据库
wcl 服务器 团队数
奉贤区个性化网络技术转让产品
软件开发移民