编程语言之C++

时间:2022-06-04 12:39:32

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();