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.
相关文章推荐
- 有已排好序的数组,要求输入数后按原来排序规律插入数组中
- C字符串常用操作处理
- 打印出杨辉三角
- 筛选法选素数
- C/C++ sort函数的用法
- 冒泡排序算法
- C++多线程编程——线程的挂起、唤醒与终止
- 在VS2010下添加已存在的CPP和.h文件
- 表的简单实现——使用C++容器库(STL List)
- sum=sum+a;关于此的初级解读
- leetcode283题 题解 翻译 C语言版 Python版
- C/C++随机数的产生及计算π近似值的应用
- C++中文件组织的一般方法
- 设计一个二次方程计算器
- HeadFirst设计模式 之 C++实现(二):Observer(观察者模式)
- VS2010 C++环境下DLL和LIB文件目录及名称修改
- C++ 学习之函数重载、基于const的重载
- const char * 和 char const * 和 char * const 区别
- C/C++程序到内存分配个人总结
- 第二届蓝桥杯C/C++组第八题 三角螺旋阵