C++是c的优化
来源:互联网 发布:为什么淘宝充值便宜 编辑:程序博客网 时间:2024/06/05 15:47
1.在c++中我们提倡使用const char * const authorName = "Scott Meyers";这样的方式,对于指针我们要使指针本身常量化,也要使指针所指的变量常量化。这就是上面这样做的原因。
2.对于define所造成的混乱:
#define max(a,b) ((a) > (b) ? (a) : (b))
int a = 5, b = 0;
max(++a, b);// a 的值增加了2次
max(++a, b+10); // a 的值只增加了1次
内联函数解决了这个问题:
template<class T>
inline const T& max(const T& a, const T& b)
{ return a > b ? a : b; }
3. string *stringarray1 =static_cast<string*>(malloc(10 * sizeof(string)));
string *stringarray2 = new string[10];
其结果是,stringarray1确实指向的是可以容纳10个string对象的足够空间,但内存里并没有创建这些对象。而且,如果你不从这种晦涩的语法怪圈(详见条款m4和m8的描述)里跳出来的话,你没有办法来初始化数组里的对象。换句话说,stringarray1其实一点用也没有。相反,stringarray2指向的是一个包含10个完全构造好的string对象的数组,每个对象可以在任何读取string的操作里安全使用。
把new和delete与malloc和free混在一起用也是个坏想法。对一个用new获取来的指针调用free,或者对一个用malloc获取来的指针调用delete,其后果是不可预测的。大家都知道“不可预测”的意思:它可能在开发阶段工作良好,在测试阶段工作良好,但也可能会最后在你最重要的客户的脸上爆炸。
- C++是c的优化
- c程序优化----虽说是优化,其实是写出好程序必须遵守的
- 程序优化的方法(C/C++)
- 内存优化的那些事【C/C++】
- C是中国教育的悲哀
- extenc "C" 是干嘛的?
- <c:forEach>需要的是
- C语言的基本单位是
- c 优化
- 优化C代码的技巧
- c语言代码的优化
- C6000的C语言优化
- c++对c的优化
- 常用的C/C++代码格式优化工具有两个,一是老牌的indent,再一个就是astyle了。
- C语言的栈是静态的
- C 和C 语言是一样的吗
- [C/C++]_[数组下标是-1的情况]
- 编写高效的C程序与C代码优化
- BBSXP官方插件开发团队:
- 一道逻辑测试题目!
- 关于运算符的一个例子
- Note of DNS and BIND
- “,”运算符问题
- C++是c的优化
- C学习的难易
- note of wireless define
- 学习日记--8.5--linux初装
- 无聊笑话收集站
- 凯文.柯恩《真爱无尽精选辑》
- 8月5日
- XML Basics
- Jexi开发 (13) 实现编辑功能