您的位置:首页 > 编程语言 > C语言/C++

C++ Primer 读书笔记 - 第五章

2013-05-20 10:01 302 查看
这一章的内容和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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: