这段时间开始复习数据结构,疯狂恶补相关知识,做了一些笔记。
1、构造函数,是一种特殊的方法。主要用来在创建对象时初始化对象,即为对象成员变量赋初值,总与new运算符一起运用在创建对象的语句中。特别的事,一个类可以有多个构造函数,根据其参数个数的不同或参数类型的不同来区分它们,即构造函数的重载。
2、cout<<endl ;中,endl表示的是输出流的一个manipulator,在输出后,还负责将输出流清空,而cout<<"/n"; 则只是完成回车的功能,而不负责清空输出流。
3、Debug:调试版本,包含调试信息,所以容量比Release大很多,并且不进行任何优化(优化会使调试复杂化,因为源代码和生成的指令间关系会更复杂),便于程序员调试。Debug模式下生成两个文件,除了.exe或.dll文件外,还有一个.pdb文件,该文件记录了代码中断点等调试信息。
Release:发布版本,不对源代码进行调试,编译时对应用程序的速度进行优化,使得程序在代码大小和运行速度上都是最优的。(调试信息可在单独的PDB文件中生成)。Release模式下生成一个文件.exe或.dll文件。
4、void *malloc(unsigned int num_bytes); num_bytes为要申请的空间的大小,申请后空间的值是随机的。
void *calloc(size_t n, size_t size);申请后对空间元素逐个赋值为0。
void realloc(void *ptr, size_t new_Size);ptr为指向原来空间基址的指针,new_size为接下来需要扩充容量的大小。
int *p = (int *)malloc(20*sizeof(int));
int *pp = (int *)calloc(20, sizeof(int));
int *ppp = (int *)realloc(p, size*sizeof(int));
5、RSS阅读是将博客、各类网站的文字内容截取出来,推送到你的RSS阅读器上,形成个性化订阅的一种阅读方式。
6、在没有include任何头文件之前,定义下面的宏: #define _CRT_SECURE_NO_DEPRECATE
可以解决提示“使用不安全函数”的问题。
7、size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);
8、this是一个指向对象自身的指针。
9、using namespace std;
在标准C++以前,都是用#include<iostream.h>这样的写法的,因为要包含进来的头文件名就是iostream.h。标准C++引入了名字空间的概念,并把iostream等标准库中的东东封装到了std名字空间中,同时为了不与原来的头文件混淆,规定标准C++使用一套新的头文件,这套头文件的文件名后不加.h扩展名,如iostream、string等等,并且把原来C标准库的头文件也重新命名,如原来的string.h就改成cstring(就是把.h去掉,前面加上字母c),所以头文件包含的写法也就变成了#include <iostream>。并不是写了#include<iostream>就必须用using namespace std;我们通常这样的写的原因是为了一下子把std名字空间的东东全部暴露到全局域中(就像是直接包含了iostream.h这种没有名字空间的头文件一样),使标准C++库用起来与传统的iostream.h一样方便。如果不用using namespace std;使用标准库时就得时时带上名字空间的全名,如std::cout << "hello" << std::endl;