C++编译过程:
g++ -o Test.ii -E Test.cpp
将.cpp转换成预处理文件.ii,即处理#inclide
g++ -o Test.s -S Test.ii
将预处理文件.ii转换成汇编文件.s
g++ -o Test.o -c Test.s
将汇编文件.s转换成二进制文件.o
g++ -o Test.exe Test.o
将二进制文件.o转换成可执行文件.exe
vector容器:
//迭代器:
#include <vestor>
vector<int> v={1,2,3};
vector<int>::iterator i;
for(i=v.begin();i!=v.end();++i){}
//排序
#include <algorithm>
sort(v.begin(),v.end());
resort(.begin(),v.end());
指针:
void*指针同样存放内存地址,但指向的内容类型不确定。
char *test;
cout << test << endl
会输出字符串而不是地址,因为char指针默认输出字符串。
解决方法: cout <<(void*)test << endl
计算机相关:
存储器:
内部存储器:
主存(随机访问存储器(RAM))【断电丢失】,只读存储器(ROM)【断电不丢失】
外部存储器:
硬盘,U盘……
short int(2字节)取值范围:
1000000000000000~01111111111111111
转换为十进制:-32768(2^15)~+32767(2^15-1)
有符号二进制数负数的符号位可以当做数值位,故最负的数为在1000000000000000
定位文件流指针所在位置:
ifstream in("test.txt");
//移动至文件末尾
in.seekg(0,ios::end);
//定位指针位置
streampos sp=in.tellg();