从C到C++第二篇
new和delete
在C++中用来向系统申请堆区的内存空间
New的作用相当于C语言中的malloc
Delete的作用相当于C语言中的free
注意:在C语言中,如果内存不够时可以使用realloc进行内存的扩容(注意:少用,因为申请的内存可能是不连续的或者是共用了其他的内存),而在C++中,如果内存不够,则重新分配一个更大的连续内存,把原来内存的数据拷贝过来,然后原内存释放
1、new是运算符
2、new可以分配两种内存,一种是单个内存,一种是连续的内存
3、new只有分配单个内存的时候可以同时给该内存赋值
1、delete 是运算符
2、delete可以释放两种内存,一种是单个内存,一种是连续内存
3、delete释放内存时,指针的必须是指向内存首地址
命名空间
1、命名空间是用来组织和重用代码的编译单元。
2、在编写代码时写的程序不可能所有的标识符都没有重名现象,
在多人协同开发时更加不可控,尤其对于库来说问题更加严重。
为了解决重名现象,通过命名空间来避免冲突。
- 使用 :: 作用域运算符
命名空间的访问
在头文件中进行命名空间的操作:
- 先创建一个头文件 myTest.h 和一个.cpp文件 myTest.cpp
- 访问方式一
- 访问方式二
- 访问方式三
- 命名空间取别名
cin和cout
in的作用类似于scanf
cout的作用类似于printf
他们在是具体使用的时候有些区别
string的基本使用
1、string是c++中的字符串。类似于c语言中的字符数组。
2、string是系统提供的一个类