C++怎么封装混乱的代码

本篇内容介绍了“C++怎么封装混乱的代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联建站网站建设由有经验的网站设计师、开发人员和项目经理组成的专业建站团队,负责网站视觉设计、用户体验优化、交互设计和前端开发等方面的工作,以确保网站外观精美、成都网站制作、成都做网站、外贸营销网站建设易于使用并且具有良好的响应性。

封装混乱的代码,而不是传播它们

Reason(原因)

混乱的代码很容易隐藏错误并且很难编写。一个好的接口会易用且安全。混乱的,低层次代码会产生很多像下面示例一样的程序。

Example(示例)
int sz = 100;int* p = (int*) malloc(sizeof(int) * sz);int count = 0;// ...for (;;) {    // ... read an int into x, exit loop if end of file is reached ...    // ... check that x is valid ...    if (count == sz)        p = (int*) realloc(p, sizeof(int) * sz * 2);    p[count++] = x;    // ...}

这是一段低层次,冗长,易错的代码。例如,我们忘记了检查内存枯竭。作为代替手段,我们可以使用vector:

vector v;v.reserve(100);// ...for (int x; cin >> x; ) {    // ... check that x is valid ...    v.push_back(x);}
译者注:vector在保证高性能的前提下,还可以提供完善的内存管理。
Note(注意)

标准库和GSL可以作为这个原则的范例。例如,与其直接使用数组、联合体、类型转换,自己处理生命周期、gsl::owner等问题,不如使用标准库提供的vector,span,lock_guard和future等经过经过更高层次抽象和实现的功能。标准库的设计和开发者和我们相比,时间更充裕,经验也更丰富。类似的,我们可以也应该设计和实现专用库,而不是让使用者(通常是我们自己)自己不断地挑战低层次代码。这是构成本准则中部分原则的另一种说法。

Enforcement(实施建议)

找到“混乱代码”,例如复杂指针操作或者除了实现抽象之外的类型转换。

“C++怎么封装混乱的代码”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


网站栏目:C++怎么封装混乱的代码
网址分享:http://ybzwz.com/article/gjhpgg.html