C++ Primer 读书笔记 - 第五章
这一章的内容和C语言基础知识大同小异。
1. i++ 与 ++i 的效率问题
i++的话,需要保存原来的值,然后增加 i,之后返回 i 原来的值;++i 直接增加 i,然后返回当前的 i 值,所以少做一步工作。
2. Setting the pointer to 0 after the object it refers to has been deleted makes it clear that the pointer points to no object.
It is legal to delete a pointer whose value is zero; doing so has no effect.
#include <iostream> #include <cstdlib> using namespace std; void print(int a[]) { cout << sizeof(a)/sizeof(*a) << endl; } int main() { int a[9] = {0}; cout << sizeof(a)/sizeof(*a) << endl; print(a); int *arr = new int[9]; free(arr); arr = NULL; delete [] arr; int *b = (int *)malloc(sizeof(int)); delete b; b = NULL; free(b); return 0; }
---
可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明
可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明