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

C++暑期学习笔记

2016-02-05 14:17 190 查看

# C++初步学习笔记

一、命名空间(namespace)相关

1 个人理解:

为了避免整合资源中存在的重名矛盾而采取的区别资源的措施;

2 命名空间的定义:

比如要定义一个命名空间A:

namespace A
{
//。。。。
}


3 命名空间的使用:

使用前提前声明:

using namespace std;


在想使用的某命名空间A下的函数等前加上A::

A::fun(); //类似这样


二、常量(const)相关

1.个人理解:

被const修饰后,无法通过被修饰物修改;

相当于指定一定权限(访问、修改等);

2.const 和 指针

情况一:const 修饰 *p

例如:

const int *p;


此时不能对 *p 进行赋值操作;

但可以修改 p 的指向;

情况二:const 修饰 P

例如:

int * const p;


此时不能修改 p 的指向;

但能对 *p 进行赋值操作;

情况三:const 修饰 p 且 修饰 *p

例如:

const int * const p;


此时无论是 p 的指向还是 *p 都无法修改;

3.const 和 引用

和上面的类似,仅给出一个样例:

int x
const int &y = x;

x=10; //合法
y=20; //不合法


三、函数重载:

理解:

范围:相同作用域内

用 同一函数名 定义的 多个不同的函数;

要求:

貌似计算机会对我们 定义的函数 && 参数的类型 在内部进行重新命名;

所以,参数个数不同||存在某个参数类型不同,均可;

四、函数内联:

用法:

用inline修饰函数;

相关:

内联编译是建议性的;

编译时具体如何由编译器决定的;

逻辑简单,调用频繁的函数可以建议使用内联;

递归函数无法进行内联;

五、内存管理

貌似具体挺多奇奇怪怪的问题的,写多了慢慢感受吧;

内存的申请和释放不能和C语言的混用;

内存申请:

int *p = new int;
int *arr = new int [10];


内存释放:

delete p;
delete []arr;


End.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: