C++学习笔记01

来源:互联网 发布:ping 域名 请求超时 编辑:程序博客网 时间:2024/06/03 20:42

1,泛型编程:不针对某一种类型的编程,针对的是一类,或者一个容器之内的编程,比如Vector,这个就可以使用int,double等等数据类型,比如函数模板等等都是这个意思;

2,命名空间:这是为了更好地组织程序,比如类A有一个get函数,类B也有一个get函数,那么调用get的时候到底是A还是B呢?使用命名空间就可以解决这个问题,A::get表达调用A的函数,B::get表达调用B的函数,std::cout表示命名空间std的cout,为了减少书写,才有了using namespace std,这样默认为std命名空间,这个和信号传输的信道很类似。

3,函数原型:返回值+函数名+形参列表

4,C++各个进制表示:一个数如果要指明它采用八进制,必须在它前面加上一个0,如:123是十进制,但0123则表示采用八进制8进制以0为开头,以0x开头的是16进制。对于各个进制的输入输出,可以借助如下的关键词来实现。

cin>>oct>>i; //输入为八进制数cin>>hex>>j; //输入为十六进制数cin>>k; //输入仍为十六进制数cin>>dec>>l; //输入为十进制数

6:C++管理数据内存的三种方式:
 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。
  ,在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
  ,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。
  自由存储区,就是那些由malloc等分配的内存块,他和堆是十分相似的,不过它是用free来结束自己的生命的。
  全局/静态存储区,全局变量和静态变量被分配到同一块内存中,在以前的C语言中,全局变量又分为初始化的和未初始化的,在C++里面没有这个区分了,他们共同占用同一块内存区。
  常量存储区,这是一块比较特殊的存储区,他们里面存放的是常量,不允许修改,比如字符串常量等等。